Andrey Mashenkov created IGNITE-16195:
-----------------------------------------

             Summary: Optimize MessageProcessor selection for a message.
                 Key: IGNITE-16195
                 URL: https://issues.apache.org/jira/browse/IGNITE-16195
             Project: Ignite
          Issue Type: Improvement
          Components: networking
            Reporter: Andrey Mashenkov


For now, IgniteRpcServer registers processors (for Raft messages only) in a 
Map<String, RpcProcessor>, where key is a message class name.

On every received message we do a lookup into the map by the classname which 
may be less efficient as it could be. E.g. we could use a number (int or long) 
as a key.

NetworkMessage provides a unique groupType of int type.

Maybe could register a processor for a whole group and delegate all the 
messages for the group to the processor? 

We can use groupType and messageType of number types for normal usage and 
switch to class names back (current behavior) for compatibility (e.g. rolling 
upgrade) purposes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to