Class GridTcpRestParser
- java.lang.Object
-
- org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser
-
- All Implemented Interfaces:
GridNioParser
public class GridTcpRestParser extends Object implements GridNioParser
Parser for extended memcache protocol. Handles parsing and encoding activity.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classGridTcpRestParser.HeaderDataHeader.protected static classGridTcpRestParser.ParserStateHolder for parser state and temporary buffer.
-
Constructor Summary
Constructors Constructor Description GridTcpRestParser(boolean routerClient)GridTcpRestParser(boolean routerClient, Marshaller marsh)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable GridClientMessagedecode(GridNioSession ses, ByteBuffer buf)This method is called when input bytes are available on the underlying network connection.ByteBufferencode(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 GridClientMarshallermarshaller(GridNioSession ses)Returns marshaller.protected GridClientMessageparseClientMessage(GridNioSession ses, GridTcpRestParser.ParserState state)ParsesGridClientMessagefrom raw bytes.StringtoString()
-
-
-
Constructor Detail
-
GridTcpRestParser
public GridTcpRestParser(boolean routerClient)
- Parameters:
routerClient- Router client flag.
-
GridTcpRestParser
public GridTcpRestParser(boolean routerClient, Marshaller marsh)- Parameters:
routerClient- Router client flag.marsh- Marshaller.
-
-
Method Detail
-
decode
@Nullable public @Nullable GridClientMessage decode(GridNioSession ses, ByteBuffer buf) throws IOException, IgniteCheckedException
This method is called when input bytes are available on the underlying network connection.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.
- Specified by:
decodein interfaceGridNioParser- Parameters:
ses- Session on which bytes are read.buf- Buffer that contains input data.- Returns:
- Parsed user message or
nullif complete message has not been received yet. Note that in case of returningnullgiven buffer must be completely read. - Throws:
IOException- If exception occurred while reading data.IgniteCheckedException- If any user-specific error occurred.
-
encode
public ByteBuffer encode(GridNioSession ses, Object msg0) throws IOException, IgniteCheckedException
This method is called whenever a message should be sent to the network connection and network buffer is ready to be filled with bytes.Method must encode the complete message and return byte buffer from which data should be read.
- Specified by:
encodein interfaceGridNioParser- Parameters:
ses- Session on which message is being sent.msg0- Message to encode.- Returns:
- Buffer containing encoded message.
- Throws:
IOException- If exception occurred while encoding data.IgniteCheckedException- If any user-specific error occurred while encoding data.
-
parseClientMessage
protected GridClientMessage parseClientMessage(GridNioSession ses, GridTcpRestParser.ParserState state) throws IOException, IgniteCheckedException
ParsesGridClientMessagefrom raw bytes.- Parameters:
ses- Session.state- Parser state.- Returns:
- A parsed client message.
- Throws:
IOException- On marshaller error.IgniteCheckedException- If no marshaller was defined for the session.
-
marshaller
protected GridClientMarshaller marshaller(GridNioSession ses)
Returns marshaller.- Returns:
- Marshaller.
-
-