#include <TelepatiUdp.h>
Public Types | |
| enum | { DATA_CONNECTION = 0, CTRL_CONNECTION = 1 } |
| Tipi di connessioni di spedizione. More... | |
Public Methods | |
| TelepatiUdp () | |
| Costruttore di Default. | |
| virtual | ~TelepatiUdp () |
| 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. | |
| virtual OStatus | DoStart (const OSystemEvent &event) |
| Entry Point Standard: Attiva la comunicazione con gli altri Oggetti e via Rete. | |
| virtual OStatus | DoStop (const OSystemEvent &event) |
| Entry Point Standard: Ferma l'oggetto e la comunicazione. | |
| virtual OStatus | DoDestroy (const OSystemEvent &event) |
| Entry Point Standard: Distrugge l'oggetto e le strutture inizializzate. | |
| void | SendCont (ANTENVMSG msg) |
| Extra Entry Point: spedisce il messaggio. More... | |
| void | ReceiveCont (ANTENVMSG msg) |
| Extra Entry Point: riceve il messaggio. More... | |
| void | TimerEnd (void *msg) |
| Extra Entry Point: chiamato allo scadere del timer periodico di Ack. More... | |
| void | BoneTimerEnd (void *msg) |
| Extra Entry Point: chiamato allo scadere del timer periodico di Polling. 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 Port | TELEPATI_PORT = 3030 |
| Porta UDP di ricezione. | |
| const unsigned int | TELEPATI_BUFFER_SIZE = 65535 |
| Dimensione dei buffer di ricezione/spedizione in byte. | |
| const int | TELEPATI_MAX_MESSAGE_TO_OBSERVER = 20 |
| Numero massimo di messaggi consecutivi all'observer. More... | |
| const longword | TELEPATI_ACK_TIME = 200 |
| Durata, in msec del timer periodico di Ack. More... | |
| const longword | TELEPATI_BONE_TIME = 8 |
| Durata, in msec, del timer ciclico per il rilevamento dello stato di attivita' degli Aibo (vedi documentazione). More... | |
| const int | TELEPATI_MAX_RESENDING = 20 |
| Numero massimo di tentativi di rispedizione di un messaggio. More... | |
Si occupa di gestire la comunicazione di agenti cooperanti attraverso il protocollo UDP 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.@n All'avvio attiva una connessione UDP in ricezione e due connessioni UDP in spedizione: una ti tipo DATA per la spedizione di messaggi di dati e una di tipo CTRL per la spedizione di messaggi di controllo (HI, HIREPLY, BYE, ACK).@n I pacchetti scambiati sono rappresentati dai TelepatiPkg (implementati nella librearia libPackages.a e vengono spediti attraverso il protocollo UDP, per ogni pacchetto e' possibile specificare, all'atto della sua creazione, se e' necessario un Acknowledgment o meno come conferma della ricezione.
|
|
Tipi di connessioni di spedizione.
|
|
|
Extra Entry Point: chiamato allo scadere del timer periodico di Polling. Controlla lo stato di attivita' degli Aibo periodicamente; manda un HiPkg a tutti gli Aibo in rete e controlla che sia stata ricevuta risposta all'HiPkg mandato precedentemente, se non e' stata ricevuta risposta l'Aibo viene posto in stato INACTIVE.
|
|
|
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. Viene invocata ogni 5 secondi. |
|
|
Funzione di Assert Ready. Viene invocata al ricevimento da parte dell'observer dell'Assert Ready o del Deassert Ready |
|
|
Extra Entry Point: riceve il messaggio. Al ricevimento di un messaggio dalla rete IPStack invoca questa funzione che ha il compito di gestire la ricezione, se e' un messaggio di dati questo viene inoltrato agli oggetti observer.
|
|
|
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.
|
|
|
Entry Point Standard: attua la comunicazione inter-object. Viene invocata al ricevimento di un messaggio da parte di un oggetto OPEN-R subject e si occupa di spedire il messaggio attraverso la rete. |
|
|
Extra Entry Point: chiamato allo scadere del timer periodico di Ack. Controlla se e' stato ricevuto l'Ack per il messaggio spedito identificato dal suo numero seriale, se non ricevuto rispedisce il messaggio. |
|
|
Durata, in msec del timer periodico di Ack.
|
|
|
Durata, in msec, del timer ciclico per il rilevamento dello stato di attivita' degli Aibo (vedi documentazione).
|
|
|
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. |
|
|
Numero massimo di tentativi di rispedizione di un messaggio. Numero massimo di volte che un messaggio richiedende un Ack viene rispedito al destinatario in caso di mancato ricevimento dell'Ack stesso, superato questo numero l'Aibo di destinazione viene posto in stato INACTIVE e il messaggio viene scartato.
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002