IRCd:tuple-queue
(New page: A tuple-queue system is simple to describe. Rather than having raw protocol messages be stored in a message queue or a data buffer, as is currently done, the protocol messages are processe...)
Current revision as of 19:40, 17 February 2009
A tuple-queue system is simple to describe. Rather than having raw protocol messages be stored in a message queue or a data buffer, as is currently done, the protocol messages are processed and built into a tuple. The tuple would list the command and all its arguments, and be completely independent of the protocol being used to send or receive messages, and the protocol modules would be responsible for serializing it into a message or deserializing a message into a tuple. The tuple would then be sent to the responsible message processor for actual processing.
Serializing and deserializing tuples into IRC protocol messages might not be completely convenient, but it does make it trivial for the server to support other protocols, and to support protocol negotiation--not to mention dynamically loadable protocol module support. It also separates parsing of the command from the actual implementation of the command, and should clean up the interface some.