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;
Exemplo de Uso
- Hello.java
public class Hello { public static void main(String args[]) { // Teste double x = 2; } }
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.