pubsubapi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pubsubapi [2017/07/21 03:08] (current)
Line 1: Line 1:
 +{{template>:doctable
 +    | name=PubSubAPI
 +    | version=0.1
 +    | accountable=Marcos Roriz
 +    | depdency=  [[ClientLib]]
 +}}
 +
 +====== PubSubAPI ======
 +ClientLib provides group and publish-subscribe communication paradigms for mobile nodes (MNs). Continuar com uma breve visão geral dos serviços providos por esse componente. 
 +
 +===== Usage  =====
 +A ClientLib implementa a interface ''public interface NodeConnection'', com os seguintes métodos: 
 +
 +  * ''public void connect(SocketAddress endpoint) throws IOException;''  estabelece conexão com um Gateway 
 +  * ''public void disconnect() throws IOException;'' desfaz conexão com o Gateway
 +  * ''public int getNumberOfReconnectionsMade();'' informa o numero de reconexões feitas com o Gateway;
 +  * ''public void sendMessage(Message message) throws IOException;'' envia uma Application ''message'' para o Gateway;
 +  * ''public void addNodeConnectionListener(NodeConnectionListener lis);'' registra um listener para receber mensagens;
 +  * ''public void removeNodeConnectionListener(NodeConnectionListener lis);'' remove o listener;
 +  * ''public void addSddlListener(SddlNetworkListener lis);'' registra um listener para receber avisos sobre o status da conexão;
 +  * ''public void removeSddlListener(SddlNetworkListener lis);'' remove o listener de conectividade;
 +  * ''public long getCreationTimestamp();'' obtém informações sobre o momento do estabelecimento da conexão;
 +
 +=== Application Message ===
 +A Application Message é a classe geral para transmitir um byte array ou um objeto serializado incluindo meta-dados. Os 'tags' são para classsificar a mensagem. Os atributos e principais métodos dessa classe são:
 +
 +<code java>
 +public class ApplicationMessage implements Message {
 +
 +    private static final long            serialVersionUID = 1L;
 +    private byte[]                      content;
 +    private List<String>                tagList;
 +    private UUID                        senderID;
 +    private UUID                        senderGatewayID;
 +    private UUID                        recipientID;
 +    private UUID                        recipientGatewayID;
 +    private String                      contentClassName;
 +    private long                        gatewayLogicalTime;
 +    protected ClientLibProtocol.MSGType msgType;
 +    private Serializable                contentObject;
 +    private PayloadSerialization        payloadType;''
 +</code>
 +
 +===== Architecture =====
 +Descrever a arquitetura do componente. As principais classes e relações que sustentam o componente.
 +  * ''getService()'' Returns Service 
 +
 +  * ''myMethod()'' Returns Service 
 +
 +===== Implementation Details =====
 +Detalhes de implementação, por exemplo, descrevendo  as principais rotinas e os seus fluxos de execução, por onde o desenvolvedor deveria olhar para modificar esse componente.
 +
 +===== References =====
 +Bibtex/PDF entry dos papers sobre esse componente.
  
  • pubsubapi.txt
  • Last modified: 2017/07/21 03:08
  • (external edit)