[ 
https://issues.apache.org/jira/browse/IGNITE-14090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Kalashnikov updated IGNITE-14090:
---------------------------------------
    Description: 
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}

  was:
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}


> Networking API
> --------------
>
>                 Key: IGNITE-14090
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14090
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Anton Kalashnikov
>            Priority: Major
>
> 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)

Reply via email to