FredPluginFCPServer: JavaDoc
FredPluginFCPServer: Reorder parameters
FredPluginFCPServer: Pass client message identifier to the message handler
- A huge problem with the old PluginTalker stuff was that the FCP "Identifier" field was not properly declared to be a per-message identifier. So some clients kept it the same for the whole connection. And given that it wasn't even passed to the message handler, it was probably a misconception at design to have it a per-connection identifier. That rendered it pretty useless: It was being specified by the client, so there was no guarantee of it being unique to that particular client connection. Thus it couldn't used for server-side queries of type "get the client connection for identifier X".  By changing it to be a *message*-identifier in the rewrite, we limit the scope of the client not chosing it uniquely to the connection of a certain client. Thus it doesn't matter if its not unique per message: The client will only disturb its own connection then, not the connection of others. So it can be safely used for server-side stuff as well. That applies to the new synchronousSend() particularly: We can use the messageIdentifier for sending ACK messages to indicate that processing of the handler at client side completed so synchronousSend() can return.