Aleksandr Polovtcev created IGNITE-15104:
--------------------------------------------
Summary: Introduce a higher level messaging abstraction
Key: IGNITE-15104
URL: https://issues.apache.org/jira/browse/IGNITE-15104
Project: Ignite
Issue Type: Task
Components: networking
Affects Versions: 3.0.0-alpha3
Reporter: Aleksandr Polovtcev
Assignee: Sergey Chugunov
Current network messaging interface has two groups of methods: methods, that
accept a {{NetworkAddress}} as the destination address, and methods, that
accept a {{ClusterNode}} as the destination address. First group is mostly
useful for low-level interactions (e.g. in JRaft), while the second group is
used by more high-level API consumers. This makes the whole interface less
consistent and more difficult to use, for example, message listeners only
provide the {{NetworkAddress}} of the sender, which is inconvenient for
high-level components.
It is proposed to split this interface into two (actual naming is not final and
can be changed during further discussions):
# {{NetworkMessageService}} - for low-level interactions. It should accept a
{{NetworkAddress}} as the recipient address and must be decoupled from the
{{TopologyService}}.
# {{ClusterMessageService}} - for high-level interactions. It should accept a
{{ClusterNode}} as the recipient address and can be implemented as a
composition of the {{NetworkMessageService}} and {{TopologyService}} .
--
This message was sent by Atlassian Jira
(v8.3.4#803005)