Differences

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

Link to this comparison view

pubsubapi [2017/07/21 06: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 06:08
  • (external edit)