Session.memRecv

Processes data |input| as an input from the remote endpoint. The |inlen| indicates the number of bytes in the |in|.

This function behaves like Session.recv except that it does not use Connector.read to receive data; the |input| is the only data for the invocation of this function. If all bytes are processed, this function returns. The other connector are called in the same way as they are in Session.recv.

In the current implementation, this function always tries to process all input data unless either an error occurs or ErrorCode.PAUSE is returned from Connector.onHeaderField or Connector.onDataChunk. If ErrorCode.PAUSE is used, the return value includes the number of bytes which was used to produce the data or frame for the callback.

This function returns the number of processed bytes, or one of the following negative error codes:

ErrorCode.CALLBACK_FAILURE The callback function failed. ErrorCode.BAD_PREFACE Invalid client preface was detected. This error only returns when Session was configured as server and setRecvClientPreface() is used.

class Session
int
memRecv
(
in ubyte[] input
)

Meta