Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Request Message (Down)DescriptionResponse Message (up)Description
MessageBytesCollector

Collect Message bytes

  1. read message header, find payload size
  2. read payload
  3. pass byte buffer to next handler
MessageSenderSend the message to the client
MetadataCollector
  1. Extract metadata from byte buffer
  2. Setmetdatain context
  3. pass byte buffer to next handler
  
MessageDecoder

Construct Message.

  1. Look apiId and decode message
  2. create Request, ApiInvoker
  3. And pass to next handler
  4. We will have multiple decoder(thrift)
ResponseEncoder

Serialize the response if there is no Exception

We will have multiple encoder(thrift)

DecorateKeyValue

Update key value based on metadata

  1. if metadata indicates it is JSON string then
    convert that topdxto pdx
  2. pass to next handler

 

ResponseMetadataHandleradd any metadata in response
  DecorateKeyValue

Decorate key value based on metadata

  1. if metadata indicates it is expecting JSON string then
    convert pdx to JSON
  2. pass to next handler
  ExceptionHandlerif Exception is set in context, then generate Exception Message
AuthenticateHandler
  1. verify whether connection is authenticated or not
  2. if fail then generate AuthRequired error
ResponseAuthorizationHandler

authorize response

  1. if fail then set generateAuthFailedexception

 

RequestAuthorizationHandler

1. Request object will generate AuthContext

2. And Call authCallback

3. if fail then generate AuthFailed error

StatsHandlerUpdate the stats based on response or error code
StatsHandlerUpdate the geode stats for requestResponseHandlerConstruct Response Message from request
ApiExecutionHandler (executetheapi); if there is no error then call Request.ApiInvoker() for a synchronous request or call Request.AsyncApiInvoker for async Request

...