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

# TelepatiUdp Class Reference

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

`#include <TelepatiUdp.h>`

List of all members.

## 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...

## Detailed Description

Oggetto per la comunicazione UDP via Rete Wireless tra Aibo.

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.

## Member Enumeration Documentation

anonymous enum

  | Tipi di connessioni di spedizione. Enumeration values:
  DATA_CONNECTION | Connessione Data. Usata per la spedizione dei package di dati.
  CTRL_CONNECTION | Connessione di Controllo. Usata per la spedizione dei package di controllo (ACK, HI, HIREPLY, BYE)

## Member Function Documentation

void TelepatiUdp::BoneTimerEnd | ( | void * | msg | ) |

| 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. See also: TELEPATI_BONE_TIME.

void TelepatiUdp::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. Viene invocata ogni 5 secondi.

void TelepatiUdp::ObserverReady | ( | const OReadyEvent & | event | ) |

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

void TelepatiUdp::ReceiveCont | ( | ANTENVMSG | msg | ) |

  | 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. Parameters:
  msg | puntatore al messaggio ricevuto.

void TelepatiUdp::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 TelepatiUdp::SendNotify | ( | const ONotifyEvent & | event | ) |

| 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.

void TelepatiUdp::TimerEnd | ( | void * | msg | ) |

| 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.

## Member Data Documentation

const longword TelepatiUdp::TELEPATI_ACK_TIME = 200`[static]`

| Durata, in msec del timer periodico di Ack. See also: TimerEnd.

const longword TelepatiUdp::TELEPATI_BONE_TIME = 8`[static]`

| Durata, in msec, del timer ciclico per il rilevamento dello stato di attivita' degli Aibo (vedi documentazione). See also: BoneTimerEnd.

const int TelepatiUdp::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 int TelepatiUdp::TELEPATI_MAX_RESENDING = 20`[static]`

| 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. See also: TimerEnd

The documentation for this class was generated from the following files:

- /home/gilberto/prog/tesi2.31/TelepatiUdp/TelepatiUdp.h
- /home/gilberto/prog/tesi2.31/TelepatiUdp/TelepatiUdp.cc