Hey guys, 

in the documentation the protocol for the REQUEST_COMMAND operation should 
be 
"(mode:byte)(class-name:string)(command-payload-length:int)(command-payload)". 
While implementing my own binary client i receive an 
IndexOutOfBoundsException while reading the class-name. After digging 
through the client and server code i'm not quite sure about the role of 
"command-payload-length". 
The server-side handling reads the default values like operation type and 
session id at first. Afterwards it reads the byte for the mode, if its sync 
oder async. But after that it reads some "chunk" bytes in the 
before reading the class-name. This leads to the IndexOutOfBoundsException 
because the length of the class-name string has already been read. The 
corresponding code from the client module doesn't show this magic chunk-int 
though. So my question is: Whats the real protocol structure and could this 
be a possible bug? 
See 
https://github.com/orientechnologies/orientdb/blob/master/server/src/main/java/com/orientechnologies/orient/server/network/protocol/binary/ONetworkProtocolBinary.java#L1152.

Regards, 
Chris

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to