Anton Kalashnikov created IGNITE-14090:
------------------------------------------
Summary: Networking API
Key: IGNITE-14090
URL:
https://issues.apache.org/jira/browse/IGNITE-14090 Project: Ignite
Issue Type: Sub-task
Reporter: Anton Kalashnikov
It needs to design convinient public API for networking module which allow to get information about network members and send/receive messages from them.
Draft:
{noformat}
public interface NetworkService \{ static NetworkService create(NetworkConfiguration cfg); void shutdown() throws ???; NetworkMember localMember(); Collection<NetworkMember> remoteMembers(); void weakSend(NetworkMember member, Message msg); Future<?> guaranteedSend(NetworkMember member, Message msg); void listenMembers(MembershipListener lsnr); void listenMessages(Consumer<MessagingEvent> lsnr); } public interface MembershipListener \{ void onAppeared(NetworkMember member); void onDisappeared(NetworkMember member); void onAcceptedByGroup(List<NetworkMember> remoteMembers); } public interface NetworkMember \{ UUID id(); }
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)