#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 |
CNetInterface * | m_NetInterface |
CLogRotation * | m_LogRotation |
bool | m_ServerInstance |
Definition at line 63 of file NetUdp.h.
CNetUdp::CNetUdp | ( | CNetInterface * | NetInterface | ) |
Construtor da classe, usado para criar um novo objeto da classe.
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.
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.
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. |
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.
IPs | ponteiro para armazenar o ponteiro para os endercos IPs. | |
Ports | ponteiro para armazenar o ponteiro para as portas. |
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.
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. |
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.
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. |
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.
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.
NetConfig | estrutura com as configuracoes do objeto (veja as estruturas acima). |
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).
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 }
CLogRotation* CNetUdp::m_LogRotation [private] |
CNetInterface* CNetUdp::m_NetInterface [private] |
bool CNetUdp::m_ServerInstance [private] |
bool CNetUdp::m_Started [private] |