Request processing cycle
- Client sends serialized request to server through socket.
- SocketListenerPool gets MessageHandler from pool and runs it in a separate thread and returns to listening port
- MessageHandler receives data from socket and passes it to Protocol
- Protocol pefrorm parsing (or deserialization) of request, prepares Request and Response objects
- Protocol creates appropriate Command instance and passes Request and Response object to it
- Command executes action based on parameters in request. In case of execution errors command populates request with appropriate status and message
- Protocol serializes response processed by command
- MessageHandler sends serialized response back to client.