This is an old revision of the document!
name=ClientLib | version=0.1 | accountable=Marcos Roriz | depdency= [[MR-UDP]]
ClientLib
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 Gatewaypublic void disconnect() throws IOException;
desfaz conexão com o Gatewaypublic int getNumberOfReconnectionsMade();
informa o numero de reconexões feitas com o Gateway;public void sendMessage(Message message) throws IOException;
envia uma Applicationmessage
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:
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; JAVA, JSON or ProtBuffers
<file java Hello.java>
public class Hello {
public static void main(String args[]) {
Teste
double x = 2;
}
}
</file>
===== 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.