CNetUdp Class Reference

#include <NetUdp.h>

Public Member Functions

 CNetUdp (CNetInterface *NetInterface)
 Construtor da classe, usado para criar um novo objeto da classe.
 ~CNetUdp ()
 Destrutor da classe, usado para deletar um objeto criado anteriormente.
RioResult Start (SNetUdpConfig *NetConfig)
 Funcao para inicializar a classe.
RioResult Stop ()
 Funcao para parar o funcionamento do object (isto e, fechar todas as conexoes TCP e terminar todas as threads).
RioResult SendData (int IP, int Port, char *Data, unsigned int DataSize, void *Param)
 Funcao para enviar dados para a maquina identificada nos parametros.
RioResult GetIPAndPort (int *IP=NULL, int *Port=NULL, unsigned int Server=0)
 Funcao para retornar o par IP, Porta associada a uma conexao com o servidor definido pelo parametro server.
RioResult GetAllIPsAndPorts (int **IPs, int **Ports)
 Funcao para retornar um ponteiro para o vetor interno que armazena os IPs e as portas.
RioResult FindIPAndPort (int IP, int Port, bool *isFound)
 Funcao para verificar se um dado par IP, Porta esta ou nao associado a uma conexao do objeto desta classe.
void setLogRotation (CLogRotation *LogRotation)
 Funcao para definir o objeto (do tipo CLogRotation) a ser usado para armazenar as estatisticas de envio de pacotes.

Private Attributes

bool m_Started
CNetInterfacem_NetInterface
CLogRotationm_LogRotation
bool m_ServerInstance

Detailed Description

Definition at line 63 of file NetUdp.h.


Constructor & Destructor Documentation

CNetUdp::CNetUdp ( CNetInterface NetInterface  ) 

Construtor da classe, usado para criar um novo objeto da classe.

Parameters:
NetInterface ponteiro para o objeto da classe CNetInterface responsavel pelo gerenciamento deste objeto.

Definition at line 56 of file NetUdp.cpp.

00057 {
00058     // Atribui o ponteiro para a classe de gerenciamento de rede.
00059     m_NetInterface = NetInterface;
00060 
00061     #ifdef RIO_DEBUG1
00062     UDPLOG << "[CNetUdp - Construtor] Start" << endl;
00063     #endif
00064 
00065     // Inicializa as variaveis da classe.
00066     m_Started = false;
00067     m_LogRotation = NULL;
00068 
00069     #ifdef RIO_DEBUG1
00070     UDPLOG << "[CNetUdp - Construtor] Finish" << endl;
00071     #endif
00072 }

CNetUdp::~CNetUdp (  ) 

Destrutor da classe, usado para deletar um objeto criado anteriormente.

Definition at line 75 of file NetUdp.cpp.

00076 {
00077     #ifdef RIO_DEBUG1
00078     UDPLOG << "[CNetUdp - Destrutor] Start" << endl;
00079     #endif
00080 
00081     #ifdef RIO_DEBUG1
00082     UDPLOG << "[CNetUdp - Destrutor] Finish" << endl;
00083     #endif
00084 }


Member Function Documentation

RioResult CNetUdp::FindIPAndPort ( int  IP,
int  Port,
bool *  isFound 
)

Funcao para verificar se um dado par IP, Porta esta ou nao associado a uma conexao do objeto desta classe.

Parameters:
IP IP a ser verificado.
Port Porta a ser verificada.
isFound ponteiro para um valor booleando que sera true se o par IP, Porta esta associado a uma conexao, ou false em caso contrario.
Returns:
S_OK se nenhum erro ocorreu buscarmos o par IP, Port, ou um valor diferente de S_OK caso algum erro tenha ocorrido.

Definition at line 201 of file NetUdp.cpp.

00202 {
00203     #ifdef RIO_DEBUG1
00204     UDPLOG << "[CNetUdp - FindIPAndPort] Start" << endl;
00205     #endif
00206 
00207     #ifdef RIO_DEBUG1
00208     UDPLOG << "[CNetUdp - FindIPAndPort] Finish" << endl;
00209     #endif
00210 
00211     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00212 }

RioResult CNetUdp::GetAllIPsAndPorts ( int **  IPs,
int **  Ports 
)

Funcao para retornar um ponteiro para o vetor interno que armazena os IPs e as portas.

Parameters:
IPs ponteiro para armazenar o ponteiro para os endercos IPs.
Ports ponteiro para armazenar o ponteiro para as portas.
Returns:
S_OK se nenhum erro ocorreu obtermos os enderecos, ou um valor diferente de S_OK caso algum erro tenha ocorrido.

Definition at line 186 of file NetUdp.cpp.

00187 {
00188     #ifdef RIO_DEBUG1
00189     UDPLOG << "[CNetUdp - GetAllIPsAndPorts] Start" << endl;
00190     #endif
00191 
00192     #ifdef RIO_DEBUG1
00193     UDPLOG << "[CNetUdp - GetAllIPsAndPorts] Finish" << endl;
00194     #endif
00195 
00196     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00197 }

RioResult CNetUdp::GetIPAndPort ( int *  IP = NULL,
int *  Port = NULL,
unsigned int  Server = 0 
)

Funcao para retornar o par IP, Porta associada a uma conexao com o servidor definido pelo parametro server.

Parameters:
IP ponteiro para armazenar o endereco IP associado ao servidor server. Se IP for NULL, o IP nao sera armazenado.
Port ponteiro para armazenar a porta associado ao servidor server. Se Port for NULL, a porta nao sera armazenada.
Server identificador do servidor (em geral, 0=dispatcher e 1,2,...=storages). Este parametro nao precisa ser passado e, neste caso, o seu valor default sera 0 (usar o dispatcher). se o objeto da classe estiver associado ao servidor, este parametro sera ignorado.
Returns:
S_OK se nenhum erro ocorreu obtermos o par IP, Porta, ou um valor diferente de S_OK caso algum erro tenha ocorrido.

Definition at line 171 of file NetUdp.cpp.

00172 {
00173     #ifdef RIO_DEBUG1
00174     UDPLOG << "[CNetUdp - GetIPAndPort] Start" << endl;
00175     #endif
00176 
00177     #ifdef RIO_DEBUG1
00178     UDPLOG << "[CNetUdp - GetIPAndPort] Finish" << endl;
00179     #endif
00180 
00181     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00182 }

RioResult CNetUdp::SendData ( int  IP,
int  Port,
char *  Data,
unsigned int  DataSize,
void *  Param 
)

Funcao para enviar dados para a maquina identificada nos parametros.

Obs: Note que os pacotes recebidos serao repassados ao objeto da classe CNetInterface, usando a sua funcao ProcessData.

Parameters:
IP endereco IP da maquina destino.
Port porta nesta maquina destino.
Data ponteiro para o endereco inicial da memoria onde estao armazenados os dados a serem enviados.
DataSize tamanho em bytes dos dados.
Param parametro a ser passado quando os dados forem enviados e a funcao SendDataCompleted do objeto da classe CNetInterface for chamado.
Returns:
S_OK se nenhum erro ocorreu ao enviarmos os dados, ou um valor diferente de S_OK caso algum erro tenha ocorrido.

Definition at line 155 of file NetUdp.cpp.

00157 {
00158     #ifdef RIO_DEBUG1
00159     UDPLOG << "[CNetUdp - SendData] Start" << endl;
00160     #endif
00161 
00162     #ifdef RIO_DEBUG1
00163     UDPLOG << "[CNetUdp - SendData] Finish" << endl;
00164     #endif
00165 
00166     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00167 }

void CNetUdp::setLogRotation ( CLogRotation LogRotation  ) 

Funcao para definir o objeto (do tipo CLogRotation) a ser usado para armazenar as estatisticas de envio de pacotes.

Parameters:
LogRotation ponteiro para um objeto do tipo CLogRotation.

Definition at line 216 of file NetUdp.cpp.

00217 {
00218     // Altera o objeto usado para armazenar a estatistica dos pacotes que 
00219     // foram enviados.
00220     m_LogRotation = LogRotation;
00221 }

RioResult CNetUdp::Start ( SNetUdpConfig NetConfig  ) 

Funcao para inicializar a classe.

Esta funcao deve ser chamada antes de a classe poder ser usada.

Parameters:
NetConfig estrutura com as configuracoes do objeto (veja as estruturas acima).
Returns:
S_OK se a classe foi inicializada com sucesso, ou o erro caso a inicializacao tenha falhado.

Definition at line 88 of file NetUdp.cpp.

00089 {
00090     #ifdef RIO_DEBUG1
00091     UDPLOG << "[CNetUdp - Start] Start" << endl;
00092     #endif
00093  
00094     // Verifica se o objeto ja foi inicializado.
00095     if( !m_Started )
00096     {
00097         #ifdef RIO_DEBUG2
00098         UDPLOG << "CNetUdp::Start o objeto ja foi inicializado."  << endl;
00099         #endif
00100 
00101         #ifdef RIO_DEBUG1
00102         UDPLOG << "[CNetUdp - Start] Finish1" << endl;
00103         #endif
00104         
00105         return ERROR_NETTCP + ERROR_STARTED;
00106     }
00107     
00108     // Algumas inicializacoes que provavelmente serao usadas nesta classe.
00109     m_ServerInstance = NetConfig->isServer;
00110     
00111     // Agora temos as configuracoes que dependem do cliente e do servidor.
00112     if( m_ServerInstance )
00113     {
00114         // Inicializa as variaveis do servidor.
00115         m_LogRotation = NetConfig->LogRotation;
00116     }
00117     else
00118     {
00119         // Inicializa as variaveis do cliente.
00120     }    
00121 
00122     #ifdef RIO_DEBUG1
00123     UDPLOG << "[CNetUdp - Start] Finish2" << endl;
00124     #endif
00125 
00126     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00127 
00128     // Quando implementar a classe UDP, remover a linha return acima e usar o
00129     // seguinte codigo:
00130     // m_Started = true;
00131     // return S_OK;
00132 }

RioResult CNetUdp::Stop ( void   ) 

Funcao para parar o funcionamento do object (isto e, fechar todas as conexoes TCP e terminar todas as threads).

Returns:
S_OK se o objeto foi finalizado com sucesso, ou o erro caso tenho ocorrido algum erro ao finalizar o objeto.

Definition at line 136 of file NetUdp.cpp.

00137 {
00138     #ifdef RIO_DEBUG1
00139     UDPLOG << "[CNetUdp - Stop] Start" << endl;
00140     #endif
00141 
00142     #ifdef RIO_DEBUG1
00143     UDPLOG << "[CNetUdp - Stop] Start" << endl;
00144     #endif
00145 
00146     return ERROR_NETUDP + ERROR_NOT_IMPLEMENTED; 
00147 
00148     // Quando implementar a classe UDP, remover a linha return acima e usar o
00149     // seguinte codigo:
00150     // m_Started = false;
00151     // return S_OK;
00152 }


Field Documentation

Definition at line 73 of file NetUdp.h.

Definition at line 70 of file NetUdp.h.

bool CNetUdp::m_ServerInstance [private]

Definition at line 76 of file NetUdp.h.

bool CNetUdp::m_Started [private]

Definition at line 67 of file NetUdp.h.


The documentation for this class was generated from the following files:
Generated on Wed Jul 4 16:03:31 2012 for RIO by  doxygen 1.6.3