public class GridTcpRestParser extends Object implements GridNioParser
Modifier and Type | Class and Description |
---|---|
protected static class |
GridTcpRestParser.HeaderData
Header.
|
protected static class |
GridTcpRestParser.ParserState
Holder for parser state and temporary buffer.
|
Constructor and Description |
---|
GridTcpRestParser(boolean routerClient) |
Modifier and Type | Method and Description |
---|---|
GridClientMessage |
decode(GridNioSession ses,
ByteBuffer buf)
This method is called when input bytes are available on the underlying network connection.
|
ByteBuffer |
encode(GridNioSession ses,
Object msg0)
This method is called whenever a message should be sent to the network connection
and network buffer is ready to be filled with bytes.
|
protected GridClientMarshaller |
marshaller(GridNioSession ses)
Returns marshaller.
|
protected GridClientMessage |
parseClientMessage(GridNioSession ses,
GridTcpRestParser.ParserState state)
Parses
GridClientMessage from raw bytes. |
String |
toString() |
public GridTcpRestParser(boolean routerClient)
routerClient
- Router client flag.@Nullable public GridClientMessage decode(GridNioSession ses, ByteBuffer buf) throws IOException, IgniteCheckedException
Method must read given buffer until either it reaches the end of buffer or a valid user message is encountered. In this case it must return parsed message.
decode
in interface GridNioParser
ses
- Session on which bytes are read.buf
- Buffer that contains input data.null
if complete message has not been received yet. Note
that in case of returning null
given buffer must be completely read.IOException
- If exception occurred while reading data.IgniteCheckedException
- If any user-specific error occurred.public ByteBuffer encode(GridNioSession ses, Object msg0) throws IOException, IgniteCheckedException
Method must encode the complete message and return byte buffer from which data should be read.
encode
in interface GridNioParser
ses
- Session on which message is being sent.msg0
- Message to encode.IOException
- If exception occurred while encoding data.IgniteCheckedException
- If any user-specific error occurred while encoding data.protected GridClientMessage parseClientMessage(GridNioSession ses, GridTcpRestParser.ParserState state) throws IOException, IgniteCheckedException
GridClientMessage
from raw bytes.ses
- Session.state
- Parser state.IOException
- On marshaller error.IgniteCheckedException
- If no marshaller was defined for the session.protected GridClientMarshaller marshaller(GridNioSession ses)
Follow @ApacheIgnite
Ignite Fabric : ver. 2.0.0 Release Date : April 30 2017