Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

TelepatiTcp Class Reference

Oggetto per la comunicazione TCP via Rete Wireless tra Aibo. More...

#include <TelepatiTcp.h>

List of all members.

Public Methods

 TelepatiTcp ()
 Costruttore di Default.

virtual ~TelepatiTcp ()
 Distruttore di default.

virtual OStatus DoInit (const OSystemEvent &event)
 Entry Point Standard: Inizializza l'oggetto e le strutture per la comunicazione inter-object e di Rete. More...

virtual OStatus DoStart (const OSystemEvent &event)
 Entry Point Standard: Attiva la comunicazione con gli altri Oggetti e via Rete. More...

virtual OStatus DoStop (const OSystemEvent &event)
 Entry Point Standard: Ferma l'oggetto e la comunicazione. More...

virtual OStatus DoDestroy (const OSystemEvent &event)
 Entry Point Standard: Distrugge le strutture inizializzate per l'inter-object comunication. More...

void SendCont (ANTENVMSG msg)
 Extra Entry Point: spedisce il messaggio. More...

void ReceiveCont (ANTENVMSG msg)
 Extra Entry Point: riceve il messaggio. More...

void ListenCont (ANTENVMSG msg)
 Extra Entry Point: Attiva le ricezioni. More...

void ConnectCont (ANTENVMSG msg)
 Extra Entry Point: Connette l'Aibo. More...

void EtherStat (void *msg)
 Extra Entry Point: chiamato allo scadere del timer periodico di Statistiche di Rete. More...

void SendNotify (const ONotifyEvent &event)
 Entry Point Standard: attua la comunicazione inter-object. More...

void ObserverReady (const OReadyEvent &event)
 Funzione di Assert Ready. More...


Public Attributes

OSubject * subject [numOfSubject]
 Array dei subject dell'oggetto.

OObserver * observer [numOfObserver]
 Array degli observer dell'oggetto.


Static Public Attributes

const int TELEPATI_BUFFER_SIZE = 65535
 Dimensione in byte dei buffer di ricezione/spedizione.

const longword TELEPATI_BONE_TIME = 8
 Durata, in sec, del timer ciclico per il rilevamento dello stato di attivita' degli Aibo (vedi documentazione). More...

const int TELEPATI_BASE_PORT = 30000
 Numero base delle porte TCP. More...

const int TELEPATI_MAX_CONNECT_ERROR = 50
 Numero massimo di errori di connessioni consentite. More...

const int TELEPATI_MAX_MESSAGE_TO_OBSERVER = 20
 Numero massimo di messaggi consecutivi all'observer. More...

const longword TELEPATI_RECONNECT_TIME = 800000000
 Tempo di attesa di riconnessione. More...


Detailed Description

Oggetto per la comunicazione TCP via Rete Wireless tra Aibo.

E' la versione basata sul protocollo TCP di Telepati. Si occupa di gestire la comunicazione di agenti cooperanti attraverso il protocollo TCP e la rete Wireless. E' un oggetto OPENR pertanto e' un processo che lavora in concorrenza con gli altri oggetti OPENR presenti nell'Aibo e comunica con loro attraverso lo scambio di messaggi (per informazioni sulla comunicazione inter-object e l'utilizzo di TelepatiTcp guardare il file Telepati1.1.doc). Attiva per ogni Aibo con cui comunicare una connessione per la spedizione ed una connessione per la ricezione. La numerazione delle porta TCP e' automatica: se l'i-esimo aibo vuole comunicare con il j-esimo, con i e j-esimo ci si riferisce al loro numero di riga nel file AIBONET, allora la porta a cui deve collegarsi sara' data da:@n TELEPATI_BASE_PORT+(<riga del i-esimo> * <numero_totale_righe>)+ <riga del j-esimo>.


Member Function Documentation

void TelepatiTcp::ConnectCont ANTENVMSG    msg
 

Extra Entry Point: Connette l'Aibo.

Ha il compito di connettere l'Aibo con gli altri Aibo, viene avviata quando l'oggetto IPStack e' pronto a stabilire una connessione con l'Aibo specificato nel parametro msg.

OStatus TelepatiTcp::DoDestroy const OSystemEvent &    event [virtual]
 

Entry Point Standard: Distrugge le strutture inizializzate per l'inter-object comunication.

Returns:
oSUCCESS se ha avuto successo; oFAIL altrimenti.

OStatus TelepatiTcp::DoInit const OSystemEvent &    event [virtual]
 

Entry Point Standard: Inizializza l'oggetto e le strutture per la comunicazione inter-object e di Rete.

Returns:
oSUCCESS se ha avuto successo; oFAIL altrimenti

OStatus TelepatiTcp::DoStart const OSystemEvent &    event [virtual]
 

Entry Point Standard: Attiva la comunicazione con gli altri Oggetti e via Rete.

Returns:
oSUCCESS se ha avuto successo; oFAIL altrimenti.

OStatus TelepatiTcp::DoStop const OSystemEvent &    event [virtual]
 

Entry Point Standard: Ferma l'oggetto e la comunicazione.

Returns:
oSUCCESS se ha avuto successo; oFAIL altrimenti.

void TelepatiTcp::EtherStat void *    msg
 

Extra Entry Point: chiamato allo scadere del timer periodico di Statistiche di Rete.

E' attiva nel caso venga definita in compilazione OPENR_ETHERSTAT (gcc -DOPENR_ETHERSTAT) e stampa sulla console virtuale informazioni sullo stato della rete wireless.

void TelepatiTcp::ListenCont ANTENVMSG    msg
 

Extra Entry Point: Attiva le ricezioni.

Ha il compito di attivare la ricezione TCP dell'Aibo, viene avviata quando l'oggetto IPStack riceve una richiesta di connessione TCP all'Aibo stesso.

void TelepatiTcp::ObserverReady const OReadyEvent &    event
 

Funzione di Assert Ready.

Viene invocata al ricevimento da parte dell'observer dell'Assert Ready o del Deassert Ready.

void TelepatiTcp::ReceiveCont ANTENVMSG    msg
 

Extra Entry Point: riceve il messaggio.

Riceve dalla rete i messaggi attraverso IPStack e, se e' un messaggio di dati, lo inoltra all'oggetto observer.

void TelepatiTcp::SendCont ANTENVMSG    msg
 

Extra Entry Point: spedisce il messaggio.

Quando l'oggetto OPENR IPStack (che si occua della gestione dello stack TCP/IP) avra' copiato tutti i dati nei suoi buffer, e saranno quindi riutilizzabili i buffer delle connessioni di spedizione, verra' invocata questa funzione.

Parameters:
msg  puntatore al messaggio spedito.

void TelepatiTcp::SendNotify const ONotifyEvent &    event
 

Entry Point Standard: attua la comunicazione inter-object.

Viene invocata al ricevimento di un messaggio da parte un oggetto OPEN-R subject e si occupa di spedire il messaggio attraverso la rete chiamando la funzione send(i) che spedisce il messaggio all'i-esimo Aibo attraverso la i-esima connessione di spedizione.


Member Data Documentation

const int TelepatiTcp::TELEPATI_BASE_PORT = 30000 [static]
 

Numero base delle porte TCP.

Rappresenta il numero base da cui parte la numerazione delle porte di ricezione / spedizione utilizzate dal protocollo TCP.

const longword TelepatiTcp::TELEPATI_BONE_TIME = 8 [static]
 

Durata, in sec, del timer ciclico per il rilevamento dello stato di attivita' degli Aibo (vedi documentazione).

See also:
BoneTimerEnd.

const int TelepatiTcp::TELEPATI_MAX_CONNECT_ERROR = 50 [static]
 

Numero massimo di errori di connessioni consentite.

Superato il suo valore non verra' ritentata una riconnessione verso l'i-esimo Aibo.

const int TelepatiTcp::TELEPATI_MAX_MESSAGE_TO_OBSERVER = 20 [static]
 

Numero massimo di messaggi consecutivi all'observer.

Rappresenta il numero massimo di messaggi che possono essere mandati all'observer senza prima ricevere un Asser Ready.

const longword TelepatiTcp::TELEPATI_RECONNECT_TIME = 800000000 [static]
 

Tempo di attesa di riconnessione.

Tempo di attesa tra un tentativo di connessione ed un altro sulla stessa porta; espresso in nano secondi.


The documentation for this class was generated from the following files:
Generated on Tue Mar 1 16:20:13 2005 for TelepatiTcp by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002