Data Structures | |
class | _CUniTime |
struct | CAlarm |
struct | CBaseStruct |
class | CBufClient |
struct | CBufferizedOutPacket |
class | CBufNetBase |
class | CBufServer |
class | CBufSock |
class | CCallbackClient |
class | CCallbackNetBase |
class | CCallbackServer |
class | CClientReceiveTask |
class | CDummyTcpSock |
struct | CGraphUpdate |
class | CInetAddress |
class | CListenSock |
class | CListenTask |
class | CLoginClient |
class | CLoginCookie |
class | CLoginServer |
class | CMessage |
class | CMessageRecorder |
class | CNamingClient |
struct | CNamingClient::CServiceEntry |
class | CNetDisplayer |
class | CNetLog |
class | CNetManager |
class | CNonBlockingBufSock |
class | CPacsClient |
struct | CPendingUser |
struct | CRequest |
class | CServerBufSock |
class | CServerReceiveTask |
class | CServerTask |
class | CSock |
class | CTcpSock |
class | CTransportClass |
class | CUdpSimSock |
class | CUdpSock |
class | CUnifiedNetwork |
class | CUnifiedNetwork::CUnifiedConnection |
This may contains a CCallbackClient or a TSockId, depending on which type of connection it is. More... | |
struct | CUnifiedNetwork::CUnifiedConnection::TConnection |
The connection structure. More... | |
struct | CUnifiedNetwork::TNameMappedConnection |
A map of service ids, referred by a service name. More... | |
struct | EAccessDenied |
Exception raised when an unauthorized access has been done. More... | |
struct | EServiceNotFound |
Exception raised when a the NS does not find the service looked-up. More... | |
struct | ESocket |
struct | ESocketConnectionClosed |
Exception raised when a connection is gracefully closed by peer. More... | |
struct | ESocketConnectionFailed |
Exception raised when connect() fails. More... | |
class | IService |
struct | TCallbackItem |
Callback items. See CMsgSocket::update() for an explanation on how the callbacks are called. More... | |
struct | TMessageRecord |
struct | TUnifiedCallbackItem |
Callback items. See CMsgSocket::update() for an explanation on how the callbacks are called. More... | |
Typedefs | |
typedef std::set< TSockId > | CConnections |
typedef CSynchronizedFIFO::CAccessor | CFifoAccessor |
Accessor of mutexed FIFO buffer. | |
typedef NLMISC::CSynchronized< NLMISC::CBufFIFO > | CSynchronizedFIFO |
Synchronized FIFO buffer. | |
typedef std::vector< NLMISC::IThread * > | CThreadPool |
typedef uint32 | TBlockSize |
Size of a block. | |
typedef void(* | TBroadcastCallback )(const std::string &name, TServiceId sid, const std::vector< CInetAddress > &addr) |
typedef void(* | TDisconnectClientCallback )(uint32 userId) |
Callback function type called when a client need to be disconnected (double login...). | |
typedef void(* | TMsgCallback )(CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
typedef void(* | TNetCallback )(TSockId from, void *arg) |
Callback function for message processing. | |
typedef void(* | TNetManagerCallback )(const std::string &serviceName, TSockId from, void *arg) |
Callback function type for message processing. | |
typedef void(* | TNewClientCallback )(TSockId from, const CLoginCookie &cookie) |
Callback function type called when a new client is identified (with the login password procedure). | |
typedef void(* | TRemoteClientCallback )(uint32 rid, const std::string &cmd, const std::string &entityNames) |
typedef uint8 | TServiceId |
typedef CBufSock * | TSockId |
Socket identifier. | |
typedef std::pair< TNetCallback, TSockId > | TStoredNetCallback |
Storing a TNetCallback call for future call. | |
typedef void(* | TUnifiedMsgCallback )(CMessage &msgin, const std::string &serviceName, uint16 sid) |
typedef void(* | TUnifiedNetCallback )(const std::string &serviceName, uint16 sid, void *arg) |
Enumerations | |
enum | TNetworkEvent { Sending, Receiving, Connecting, ConnFailing, Accepting, Disconnecting, Error } |
Type of network events (if changed, don't forget to change EventToString() and StringToEvent(). More... | |
Functions | |
void | addRequestAnswer (uint32 rid, const std::vector< std::string > &variables, const std::vector< std::string > &values) |
void | addRequestAnswer (uint32 rid, const vector< string > &variables, const vector< string > &values) |
void | addRequestWaitingNb (uint32 rid) |
CVariable< bool > | Bench ("Bench","1 if benching 0 if not", 0, true) |
void | cbAdminPing (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbAESConnection (const string &serviceName, uint16 sid, void *arg) |
void | cbAESDisconnection (const std::string &serviceName, uint16 sid, void *arg) |
void | cbClientGetUniversalTime (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbcMessageRecvAllAssociations (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbDirectoryChanged (IVariable &var) |
void | cbExecCommand (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbExecuteCommands (CConfigFile::CVar &var) |
void | cbGetUniversalTime (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbInfo (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbLogFilter (CConfigFile::CVar &var) |
void | cbnbMessageAskAssociations (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbnbMessageRecvAssociations (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbnbNewDisconnection (TSockId from, void *data) |
void | cbPacsAnswer (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbQueryPort (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbReceiveShardId (CMessage &msgin, const string &serviceName, uint16 serviceId) |
void | cbRegister (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbRegisterBroadcast (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbServerAskUniversalTime (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbServGetView (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbShardValidate (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbShardValidation (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbSimVar (CConfigFile::CVar &var) |
void | cbsNewConnection (TSockId from, void *data) |
void | cbStopService (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbTCReceiveMessage (CMessage &msgin, const string &name, uint16 sid) |
void | cbTCReceiveOtherSideClass (CMessage &msgin, const string &name, uint16 sid) |
void | cbTCUpService (const std::string &serviceName, uint16 sid, void *arg) |
void | cbUnregisterBroadcast (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | cbWSChooseShard (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cbWSDisconnectClient (CMessage &msgin, const std::string &serviceName, uint16 sid) |
void | cfcbAcceptInvalidCookie (CConfigFile::CVar &var) |
void | cfcbDefaultUserPriv (CConfigFile::CVar &var) |
void | cfcbListenAddress (CConfigFile::CVar &var) |
void | cfcbTimeBeforeEraseCookie (CConfigFile::CVar &var) |
void | cleanRequest () |
void | ClientConnection (TSockId from, void *arg) |
bool | createMessage (CMessage &msgout, const vector< string > &args, CLog &log) |
bool | emptyRequest (uint32 rid) |
string | EventToString (TNetworkEvent e) |
TNetworkEvent -> string. | |
void | getNameOfMessageOrTransportClass (NLNET::CMessage &msgin, std::string &msgName) |
void | initAdmin (bool dontUseAES) |
void | initSignal () |
std::string | internalIPAddressToString (uint32 addr) |
Take an internal address and convert it to a internet dot string. | |
bool | isRemoteCommand (string &str) |
CVariable< sint32 > | NetSpeedLoop ("NetSpeedLoop","duration of the last user loop(in ms)", 10, false) |
NLMISC::CMutex | nettrace_mutex ("nettrace_mutex") |
NLMISC_COMMAND (isServiceLocal,"Says if a service is local or not compare with this service","< sid >|< service name >") | |
NLMISC_COMMAND (l5Callback,"Displays all callback registered in layer5","") | |
NLMISC_COMMAND (l5InternalTables,"Displays internal table of network layer5","") | |
NLMISC_COMMAND (l5QueuesStats,"Displays queues stats of network layer5","") | |
NLMISC_COMMAND (msgout,"Send a message to a specified service(ex:msgout 128 REGISTER u32 10 b 1 f 1.5)","< ServiceName >|< ServiceId >< MessageName >[< ParamType >< Param >]*") | |
NLMISC_COMMAND (msgin,"Simulate an input message from another service(ex:msgin 128 REGISTER u32 10 b 1 f 1.5)","< ServiceName >|< ServiceId >< MessageName >[< ParamType >< Param >]*") | |
NLMISC_COMMAND (getUnknownConfigFileVariables,"display the variables from config file that are called but not present","") | |
NLMISC_COMMAND (displayConfigFile,"display the variables of the default configfile","") | |
NLMISC_COMMAND (getWinDisplayerInfo,"display the info about the pos and size of the window displayer","") | |
NLMISC_COMMAND (resetMeasures,"reset hierarchical timer","") | |
NLMISC_COMMAND (serviceInfo,"display information about this service","") | |
NLMISC_COMMAND (brutalQuit,"exit the service brutally","") | |
NLMISC_COMMAND (quit,"exit the service","") | |
NLMISC_COMMAND (services,"displays registered services","") | |
NLMISC_COMMAND (lsPending,"displays the list of all pending users","") | |
NLMISC_COMMAND (lsUsers,"displays the list of all connected users","") | |
NLMISC_COMMAND (getView,"send a view and receive an array as result","< varpath >") | |
NLMISC_COMMAND (displayInformations,"displays all admin informations","") | |
NLMISC_DYNVARIABLE (uint64, SentBytes,"total of bytes sent by this service") | |
NLMISC_DYNVARIABLE (uint64, ReceivedBytes,"total of bytes received by this service") | |
NLMISC_DYNVARIABLE (uint64, ReceiveQueueSize,"current size in bytes of all receive queues") | |
NLMISC_DYNVARIABLE (uint64, SendQueueSize,"current size in bytes of all send queues") | |
NLMISC_DYNVARIABLE (string, State,"Set this value to 0 to shutdown the service and 1 to start the service") | |
NLMISC_DYNVARIABLE (string, Scroller,"current size in bytes of the sent queue size") | |
NLMISC_DYNVARIABLE (string, Uptime,"time from the launching of the program") | |
NLMISC_DYNVARIABLE (string, LaunchingDate,"date of the launching of the program") | |
NLMISC_DYNVARIABLE (string, LSListenAddress,"the listen address sended to the client to connect on this front_end") | |
NLMISC_VARIABLE (uint32, TotalCallbackCalled,"Total callback called number on layer 5") | |
NLMISC_VARIABLE (uint32, NbUserUpdate,"number of time the user IService::update() called") | |
NLMISC_VARIABLE (string, CompilationMode,"mode of the compilation") | |
NLMISC_VARIABLE (string, CompilationDate,"date of the compilation") | |
NLMISC_VARIABLE (string, DefaultUserPriv,"Default User priv for people who don't use the login system") | |
NLMISC_VARIABLE (uint32, NbServerReceiveTask,"Number of server receive thread") | |
NLMISC_VARIABLE (uint32, NbServerListenTask,"Number of server listen thread") | |
NLMISC_VARIABLE (uint32, NbNetworkTask,"Number of server and client thread") | |
NLMISC_VARIABLE (uint32, NbClientReceiveTask,"Number of client receive thread") | |
void | nmNewConnection (TSockId from, void *arg) |
void | nmNewDisconnection (TSockId from, void *arg) |
bool | operator< (const CInetAddress &a1, const CInetAddress &a2) |
bool | operator== (const CLoginCookie &c1, const CLoginCookie &c2) |
bool | operator== (const CInetAddress &a1, const CInetAddress &a2) |
void | refreshPendingList () |
void | RegistrationBroadcast (const std::string &name, TServiceId sid, const vector< CInetAddress > &addr) |
void | sendAdminEmail (char *format,...) |
bool | sendEmail (const std::string &smtpServer, const std::string &from, const std::string &to, const std::string &subject, const std::string &body, const std::string &attachedFile="", bool onlyCheck=false) |
bool | sendEmail (const string &smtpServer, const string &from, const string &to, const string &subject, const string &body, const string &attachedFile, bool onlyCheck) |
bool | sendEMailCommand (CTcpSock &sock, const std::string &command, uint32 code=250) |
void | serviceGetView (uint32 rid, const std::string &rawvarpath, std::vector< std::pair< std::vector< std::string >, std::vector< std::string > > > &answer, bool async=false) |
void | serviceGetView (uint32 rid, const string &rawvarpath, vector< pair< vector< string >, vector< string > > > &answer, bool async) |
void | setDefaultEmailParams (const std::string &smtpServer, const std::string &from, const std::string &to) |
void | setInformations (const std::vector< std::string > &alarms, const std::vector< std::string > &graphupdate) |
void | setInformations (const vector< string > &alarms, const vector< string > &graphupdate) |
void | setListenAddress (const string &la) |
void | setRemoteClientCallback (TRemoteClientCallback cb) |
void | sigHandler (int Sig) |
string | stringFromVectorPart (const vector< uint8 > &v, uint32 pos, uint32 len) |
TNetworkEvent | StringToEvent (string &s) |
string -> TNetworkEvent | |
uint32 | stringToInternalIPAddress (const std::string &addr) |
Take a internet dot string and convert it in an uint32 internal format for example "128.64.32.16" -> 0xF0804020. | |
void | subRequestWaitingNb (uint32 rid) |
string | typeToString (CTransportClass::TProp type) |
void | uncbConnection (TSockId from, void *arg) |
void | uncbDisconnection (TSockId from, void *arg) |
void | uncbMsgProcessing (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | uncbServiceIdentification (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) |
void | uNetRegistrationBroadcast (const string &name, TServiceId sid, const vector< CInetAddress > &addr) |
void | uNetUnregistrationBroadcast (const string &name, TServiceId sid, const vector< CInetAddress > &addr) |
void | UnregistrationBroadcast (const std::string &name, TServiceId sid, const vector< CInetAddress > &addr) |
void | updateAdmin () |
CVariable< uint32 > | UpdateAssertionThreadTimeout ("UpdateAssertionThreadTimeout","in millisecond, timeout before thread assertion", 0, 0, true, UpdateAssertionThreadTimeoutCB) |
void | UpdateAssertionThreadTimeoutCB (IVariable &var) |
uint64 | updateStatCounter (uint64 &counter, uint64 newvalue) |
CVariable< sint32 > | UserSpeedLoop ("UserSpeedLoop","duration of the last network loop(in ms)", 10, false) |
void | uuencode (const char *s, const char *store, const int length) |
std::string | vectorCInetAddressToString (const std::vector< CInetAddress > &addrs) |
Variables | |
TBroadcastCallback | _RegistrationBroadcastCallback = NULL |
TBroadcastCallback | _UnregistrationBroadcastCallback = NULL |
bool | AcceptInvalidCookie = false |
const uint32 | AlarmCheckDelay = 5 |
vector< CAlarm > | Alarms |
string | allstuffs |
const uint64 | AppIdDeadConnection = 0xDEAD |
uint8 | buffer [10000] |
queue< CBufferizedOutPacket * > | BufferizedInPackets |
queue< CBufferizedOutPacket * > | BufferizedOutPackets |
TUnifiedCallbackItem | builtinServiceCallbacks [] |
TUnifiedCallbackItem | CallbackArray [] |
TCallbackItem | cbnbMessageAssociationArray [] |
const TCallbackItem | ClientCallbackArray [] |
TCallbackItem | ClientMessageAssociationArray [] |
CNetDisplayer | commandDisplayer (false) |
string | CompilationDate |
string | CompilationMode = "???" |
string | DefaultFrom |
string | DefaultSMTPServer |
string | DefaultTo |
string | DefaultUserPriv = "" |
TDisconnectClientCallback | DisconnectClientCallback = NULL |
TUnifiedCallbackItem | EmptyCallbackArray [1] = { { "", NULL } } |
sint | ExitSignalAsked = 0 |
CFileDisplayer | fd |
TCallbackItem | FESCallbackArray [] |
bool | GetClientUniversalTime |
TTime | GetClientUniversalTimeUniTime |
bool | GetUniversalTime |
uint32 | GetUniversalTimeSecondsSince1970 |
TTime | GetUniversalTimeUniTime |
vector< CGraphUpdate > | GraphUpdates |
const TSockId | InvalidSockId = (TSockId) NULL |
uint32 | LaunchingDate |
string | ListenAddr |
const char * | LockedSubMessageError = "a sub message is forbidden" |
const sint16 | LOG_CBINDEX = 0 |
bool | ModeTcp = 0 |
CTimeoutAssertionThread | MyTAT |
TCallbackItem | NamingClientCallbackArray [] |
uint32 | NbClientReceiveTask = 0 |
uint32 | NbNetworkTask = 0 |
uint32 | NbServerListenTask = 0 |
uint32 | NbServerReceiveTask = 0 |
uint32 | NbUserUpdate = 0 |
const char * | NegFiltersNames [] |
CNetLog | NetLog |
TNewClientCallback | NewClientCallback = NULL |
TCallbackItem | PacsCallbackArray [] |
list< CPendingUser > | PendingUsers |
bool | QueryPort |
uint16 | QueryPortPort |
string | Reason |
bool | Registered |
TServiceId * | RegisteredSID = NULL |
bool | RegisteredSuccess |
TRemoteClientCallback | RemoteClientCallback = 0 |
vector< CRequest > | Requests |
uint32 | RequestTimeout = 4 |
CCallbackServer * | Server = NULL |
TCallbackItem | ServerTimeServiceCallbackArray [] |
bool | ShardValidate |
string | ShardValidateReason |
const sint | Signal [] |
uint | SignalisedThread |
const char * | SignalName [] |
char | tbl [65] |
CLog | test (CLog::LOG_INFO) |
uint | ThreadCreator = 0 |
uint | TimeBeforeEraseCookie = 120 |
uint32 | TotalCallbackCalled = 0 |
TCallbackItem | unServerCbArray [] |
map< uint32, TSockId > | UserIdSockAssociations |
contains the correspondance between userid and the sockid | |
TUnifiedCallbackItem | WSCallbackArray [] |
|
Definition at line 382 of file buf_server.h. |
|
Accessor of mutexed FIFO buffer.
Definition at line 56 of file buf_net_base.h. Referenced by NLNET::CBufServer::dataAvailable(), NLNET::CBufClient::dataAvailable(), NLNET::CBufClient::disconnect(), NLNET::CBufNetBase::displayReceiveQueueStat(), NLNET::CBufNetBase::getReceiveQueueSize(), NLNET::CBufNetBase::pushMessageIntoReceiveQueue(), NLNET::CBufServer::receive(), NLNET::CBufClient::receive(), and NLNET::CServerReceiveTask::run(). |
|
Synchronized FIFO buffer.
Definition at line 53 of file buf_net_base.h. Referenced by NLNET::CBufNetBase::receiveQueue(). |
|
Definition at line 115 of file buf_server.h. Referenced by NLNET::CBufServer::addNewThread(). |
|
Size of a block.
Definition at line 59 of file buf_net_base.h. Referenced by NLNET::CBufSock::flush(), NLNET::CBufServer::pushBufferToHost(), NLNET::CBufServer::receive(), and NLNET::CNonBlockingBufSock::receivePart(). |
|
Definition at line 44 of file naming_client.h. Referenced by NLNET::CNamingClient::setRegistrationBroadcastCallback(), and NLNET::CNamingClient::setUnregistrationBroadcastCallback(). |
|
Callback function type called when a client need to be disconnected (double login...).
Definition at line 50 of file login_server.h. Referenced by NLNET::CLoginServer::init(). |
|
Callback function type for message processing msgin contains parameters of the message from is the SockId of the connection, for a client, from is always the same value Definition at line 55 of file callback_net_base.h. Referenced by NLNET::CCallbackNetBase::processOneMessage(), and NLNET::CCallbackNetBase::setDefaultCallback(). |
|
Callback function for message processing.
Definition at line 47 of file buf_net_base.h. Referenced by NLNET::CBufServer::connectionCallback(), NLNET::CBufNetBase::disconnectionCallback(), NLNET::CCallbackServer::setConnectionCallback(), NLNET::CBufServer::setConnectionCallback(), NLNET::CCallbackServer::setDisconnectionCallback(), NLNET::CCallbackNetBase::setDisconnectionCallback(), NLNET::CCallbackClient::setDisconnectionCallback(), and NLNET::CBufNetBase::setDisconnectionCallback(). |
|
Callback function type for message processing.
Definition at line 52 of file net_manager.h. Referenced by NLNET::CNetManager::setConnectionCallback(), and NLNET::CNetManager::setDisconnectionCallback(). |
|
Callback function type called when a new client is identified (with the login password procedure).
Definition at line 47 of file login_server.h. Referenced by NLNET::CLoginServer::init(). |
|
Definition at line 66 of file admin.h. Referenced by setRemoteClientCallback(). |
|
|
|
Storing a TNetCallback call for future call.
Definition at line 50 of file buf_net_base.h. |
|
Callback function type for message processing
Definition at line 52 of file unified_network.h. Referenced by NLNET::CUnifiedNetwork::findCallback(), and NLMISC_COMMAND(). |
|
Callback function type for service up/down processing
Definition at line 45 of file unified_network.h. Referenced by NLNET::CUnifiedNetwork::callServiceDownCallback(), NLNET::CUnifiedNetwork::callServiceUpCallback(), NLNET::CUnifiedNetwork::setServiceDownCallback(), and NLNET::CUnifiedNetwork::setServiceUpCallback(). |
|
Type of network events (if changed, don't forget to change EventToString() and StringToEvent().
Definition at line 49 of file message_recorder.h. Referenced by NLNET::CMessageRecorder::checkNextOne(), NLNET::CCallbackClient::connect(), NLNET::CMessageRecorder::replayConnectionAttempt(), and StringToEvent().
00049 { Sending, Receiving, Connecting, ConnFailing, Accepting, Disconnecting, Error }; |
|
|
|
Definition at line 275 of file admin.cpp. References nlassert, nldebug, nlwarning, Requests, uint, and uint32. Referenced by serviceGetView().
00276 { 00277 if (!variables.empty() && variables[0] == "__log") 00278 { nlassert (variables.size() == 1); } 00279 else 00280 { nlassert (variables.size() == values.size()); } 00281 00282 for (uint i = 0 ; i < Requests.size (); i++) 00283 { 00284 if (Requests[i].Id == rid) 00285 { 00286 Requests[i].Answers.push_back (make_pair(variables, values)); 00287 00288 Requests[i].NbReceived++; 00289 nldebug ("ADMIN: ++ i %d rid %d NbWaiting %d NbReceived+ %d", i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); 00290 00291 return; 00292 } 00293 } 00294 // we received an unknown request, forget it 00295 nlwarning ("ADMIN: Receive an answer for unknown request %d", rid); 00296 } |
|
Definition at line 221 of file admin.cpp. References nldebug, nlwarning, Requests, uint, and uint32. Referenced by serviceGetView().
00222 { 00223 for (uint i = 0 ; i < Requests.size (); i++) 00224 { 00225 if (Requests[i].Id == rid) 00226 { 00227 Requests[i].NbWaiting++; 00228 nldebug ("ADMIN: ++ i %d rid %d NbWaiting+ %d NbReceived %d", i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); 00229 // if we add a waiting, reset the timer 00230 Requests[i].Time = CTime::getSecondsSince1970 (); 00231 return; 00232 } 00233 } 00234 nlwarning ("ADMIN: addRequestWaitingNb: can't find the rid %d", rid); 00235 } |
|
Referenced by NLNET::IService::main(). |
|
Definition at line 155 of file admin.cpp. References uint16.
00156 { 00157 // Send back a pong to say to the AES that I'm alive 00158 CMessage msgout("ADMIN_PONG"); 00159 CUnifiedNetwork::getInstance()->send(sid, msgout); 00160 } |
|
Definition at line 169 of file admin.cpp. References NLMISC::CMemStream::serial(), uint16, and uint32. Referenced by initAdmin().
00170 { 00171 // established a connection to the AES, identify myself 00172 00173 // 00174 // Sends the identification message with the name of the service and all commands available on this service 00175 // 00176 00177 CMessage msgout ("SID"); 00178 uint32 pid = getpid (); 00179 msgout.serial (IService::getInstance()->_AliasName, IService::getInstance()->_LongName, pid); 00180 ICommand::serialCommands (msgout); 00181 CUnifiedNetwork::getInstance()->send("AES", msgout); 00182 00183 if (IService::getInstance()->_Initialized) 00184 { 00185 CMessage msgout2 ("SR"); 00186 CUnifiedNetwork::getInstance()->send("AES", msgout2); 00187 } 00188 } |
|
Definition at line 191 of file admin.cpp. References nlinfo, and uint16. Referenced by initAdmin().
00192 { 00193 nlinfo("Lost connection to the %s-%hu", serviceName.c_str(), sid); 00194 } |
|
Definition at line 296 of file unitime.cpp. References GetClientUniversalTime, GetClientUniversalTimeUniTime, nlstop, NLMISC::CMemStream::serial(), and TSockId.
00297 { 00298 nlstop; 00299 // get the association between a date and unitime 00300 msgin.serial (GetClientUniversalTimeUniTime); 00301 GetClientUniversalTime = true; 00302 } |
|
Definition at line 43 of file callback_client.cpp. References cbnbMessageRecvAssociations(), from, NLNET::CCallbackNetBase::getSIDA(), NLMISC::CStringIdArray::ignoreAllUnknownId(), and TSockId.
00044 { 00045 netbase.getSIDA().ignoreAllUnknownId (false); 00046 cbnbMessageRecvAssociations (msgin, from, netbase); 00047 } |
|
Definition at line 230 of file service.cpp. References NLMISC::IVariable::fromString(), NLMISC::ICommand::getName(), nlinfo, and NLMISC::IVariable::toString(). Referenced by NLNET::IService::IService().
00231 { 00232 string vp = CPath::getFullPath(var.toString()); 00233 nlinfo ("SERVICE: '%s' changed to '%s'", var.getName().c_str(), vp.c_str()); 00234 var.fromString(vp); 00235 00236 if (var.getName() == "RunningDirectory") 00237 { 00238 #ifdef NL_OS_WINDOWS 00239 _chdir (vp.c_str()); 00240 #else 00241 chdir (vp.c_str()); 00242 #endif 00243 } 00244 } |
|
Definition at line 144 of file admin.cpp. References nlinfo, NLMISC::CMemStream::serial(), and uint16.
|
|
Definition at line 405 of file service.cpp. References NLMISC::CConfigFile::CVar::asString(), sint, and NLMISC::CConfigFile::CVar::size(). Referenced by NLNET::IService::main().
|
|
Definition at line 139 of file unitime.cpp. References GetUniversalTime, GetUniversalTimeSecondsSince1970, GetUniversalTimeUniTime, nlstop, NLMISC::CMemStream::serial(), and TSockId.
00140 { 00141 nlstop; 00142 // get the association between a date and unitime 00143 msgin.serial (GetUniversalTimeSecondsSince1970); 00144 msgin.serial (GetUniversalTimeUniTime); 00145 GetUniversalTime = true; 00146 } |
|
Definition at line 100 of file admin.cpp. References nlinfo, NLMISC::CMemStream::serialCont(), setInformations(), and uint16.
00101 { 00102 nlinfo ("ADMIN: Updating admin informations"); 00103 00104 vector<string> alarms; 00105 msgin.serialCont (alarms); 00106 vector<string> graphupdate; 00107 msgin.serialCont (graphupdate); 00108 00109 setInformations (alarms, graphupdate); 00110 } |
|
Definition at line 361 of file service.cpp. References NLMISC::CLog::addNegativeFilter(), NLMISC::AssertLog, NLMISC::CConfigFile::CVar::asString(), NLMISC::DebugLog, NLMISC::ErrorLog, NLMISC::InfoLog, NLMISC::CConfigFile::CVar::Name, nlinfo, nlstop, NLMISC::CLog::removeFilter(), sint, NLMISC::CConfigFile::CVar::size(), and NLMISC::WarningLog. Referenced by NLNET::IService::main().
00362 { 00363 CLog *log = NULL; 00364 if (var.Name == "NegFiltersDebug") 00365 { 00366 log = DebugLog; 00367 } 00368 else if (var.Name == "NegFiltersInfo") 00369 { 00370 log = InfoLog; 00371 } 00372 else if (var.Name == "NegFiltersWarning") 00373 { 00374 log = WarningLog; 00375 } 00376 else if (var.Name == "NegFiltersAssert") 00377 { 00378 log = AssertLog; 00379 } 00380 else if (var.Name == "NegFiltersError") 00381 { 00382 log = ErrorLog; 00383 } 00384 else 00385 { 00386 nlstop; 00387 } 00388 00389 nlinfo ("SERVICE: Updating %s from config file", var.Name.c_str()); 00390 00391 // remove all old filters from config file 00392 CConfigFile::CVar &oldvar = IService::getInstance()->ConfigFile.getVar (var.Name); 00393 for (sint j = 0; j < oldvar.size(); j++) 00394 { 00395 log->removeFilter (oldvar.asString(j).c_str()); 00396 } 00397 00398 // add all new filters from config file 00399 for (sint i = 0; i < var.size(); i++) 00400 { 00401 log->addNegativeFilter (var.asString(i).c_str()); 00402 } 00403 } |
|
Definition at line 88 of file callback_net_base.cpp. References NLNET::CCallbackNetBase::_OutputSIDA, from, NLMISC::CStringIdArray::getId(), NLNET::CCallbackNetBase::getSIDA(), nlassert, nldebug, NLNET::CCallbackNetBase::send(), NLMISC::CMemStream::serial(), sint, size, TSockId, and NLMISC::CStringIdArray::TStringId.
00089 { 00090 CMessage msgout (netbase.getSIDA(), "RA"); 00091 CStringIdArray::TStringId size; 00092 msgin.serial (size); 00093 00094 nldebug ("LNETL3NB_ASSOC: The other side want %d string associations", size); 00095 00096 msgout.serial (size); 00097 00098 for (sint i = 0; i < size; i++) 00099 { 00100 string name; 00101 msgin.serial (name); 00102 nldebug ("LNETL3NB_ASSOC: sending association '%s' -> %d", name.c_str (), netbase._OutputSIDA.getId(name)); 00103 00104 // if this assert occurs, it means that the other side ask an unknown message 00105 // or that there are different types of client (with differents callbackarray) and one of the client doesn't have this callback 00106 nlassert(netbase._OutputSIDA.getId(name) != -1); 00107 00108 msgout.serial (name); 00109 00110 CStringIdArray::TStringId id = netbase._OutputSIDA.getId (name); 00111 msgout.serial (id); 00112 } 00113 // send the message to the other side 00114 netbase.send (msgout, from); 00115 } |
|
Definition at line 55 of file callback_net_base.cpp. References NLMISC::CStringIdArray::addString(), NLNET::CCallbackNetBase::getSIDA(), nlassert, nldebug, NLMISC::CMemStream::serial(), size, TSockId, and NLMISC::CStringIdArray::TStringId. Referenced by cbcMessageRecvAllAssociations().
00056 { 00057 // receive a new message association 00058 00059 CStringIdArray::TStringId size; 00060 msgin.serial (size); 00061 00062 nldebug ("LNETL3NB_ASSOC: The other side gave me %d association strings", size); 00063 00064 for (CStringIdArray::TStringId i = 0; i < size; i++) 00065 { 00066 std::string name; 00067 CStringIdArray::TStringId id; 00068 00069 msgin.serial (name); 00070 msgin.serial (id); 00071 00072 // if id == -1, it means that there are no callback associated to this message 00073 // it should not happen, it mean that one side send a message that the other side 00074 // can't manage in his callbackarray. 00075 // to resolve the problem, add the callback in the callbackarray in the other side 00076 // and put NULL if you don't want to manage this message 00077 nlassert (id != -1); 00078 00079 nldebug ("LNETL3NB_ASSOC: association '%s' -> %d", name.c_str (), id); 00080 netbase.getSIDA().addString (name, id); 00081 } 00082 } |
|
Definition at line 127 of file callback_net_base.cpp. References NLNET::CCallbackNetBase::_DisconnectionCallback, NLNET::CCallbackNetBase::_DisconnectionCbArg, data, from, nlassert, nldebug, and TSockId. Referenced by NLNET::CCallbackNetBase::CCallbackNetBase().
00128 { 00129 nlassert (data != NULL); 00130 CCallbackNetBase *base = (CCallbackNetBase *)data; 00131 00132 nldebug("LNETL3NB: cbnbNewDisconnection()"); 00133 00134 #ifdef USE_MESSAGE_RECORDER 00135 // Record or replay disconnection 00136 base->noticeDisconnection( from ); 00137 #endif 00138 00139 // Call the client callback if necessary 00140 if (base->_DisconnectionCallback != NULL) 00141 base->_DisconnectionCallback (from, base->_DisconnectionCbArg); 00142 } |
|
Definition at line 495 of file pacs_client.h. References from, NLNET::CPacsClient::getPositionSpeedCallback(), NLNET::CPacsClient::messageCallback(), nlassert, NLMISC::nlError(), NLNET_PACS_PROTOCOL_VERSION, NLNET::CPacsClient::rayTestCallback(), NLMISC::CMemStream::serial(), NLMISC::IStream::serialCheck(), NLMISC::CMemStream::serialCont(), NLNET::CPacsClient::testMoveCallback(), NLNET::CPacsClient::triggerCallback(), TSockId, NLPACS::UMovePrimitive::TUserData, uint, and uint32.
00496 { 00497 // Get the client pointer 00498 CPacsClient *client=(CPacsClient*)(uint)from->appId (); 00499 00500 // Check stream 00501 msgin.serialCheck ((uint32)NLNET_PACS_PROTOCOL_VERSION); 00502 00503 // Message callback 00504 client->messageCallback (); 00505 00506 bool again; 00507 msgin.serial (again); 00508 00509 while (again) 00510 { 00511 // Read the message sub string 00512 std::string subMessage; 00513 msgin.serial (subMessage); 00514 00515 // This code can work only if sizeof (uint) == sizeof (void*) 00516 nlassert (sizeof (uint)==sizeof (void*)); 00517 00518 // Raytrace callback ? 00519 if (subMessage=="RY") 00520 { 00521 // Read test id and test result 00522 uint32 testId; 00523 bool testResult; 00524 msgin.serial (testId, testResult); 00525 00526 // Call the callback 00527 client->rayTestCallback (testId, testResult); 00528 } 00529 // Trigger callback ? 00530 else if (subMessage=="TR") 00531 { 00532 // Read eval id and trigger info 00533 uint32 evalId; 00534 std::vector<NLPACS::UTriggerInfo> triggerInfo; 00535 msgin.serial (evalId); 00536 msgin.serialCont (triggerInfo); 00537 00538 // Call the callback 00539 client->triggerCallback (evalId, triggerInfo); 00540 } 00541 // Test move callback ? 00542 else if (subMessage=="TM") 00543 { 00544 // Read the primitive id and test result 00545 NLPACS::UMovePrimitive::TUserData id; 00546 bool testResult; 00547 msgin.serial (id, testResult); 00548 00549 // Call the callback 00550 client->testMoveCallback (id, testResult); 00551 } 00552 // Test move callback ? 00553 else if (subMessage=="PS") 00554 { 00555 // Read the primitive id and test result 00556 NLPACS::UMovePrimitive::TUserData id; 00557 NLMISC::CVectorD position; 00558 NLMISC::CVectorD speed; 00559 msgin.serial (id, position, speed); 00560 00561 // Call the callback 00562 client->getPositionSpeedCallback (id, position, speed); 00563 } 00564 else 00565 NLMISC::nlError ("Pacs client: unkown sub message string"); 00566 00567 // Next message ? 00568 msgin.serial (again); 00569 } 00570 } |
|
Definition at line 109 of file naming_client.cpp. References QueryPort, QueryPortPort, NLMISC::CMemStream::serial(), and TSockId.
|
|
Definition at line 251 of file service.cpp. References nlinfo, nlwarning, NLMISC::CMemStream::serial(), uint16, and uint32.
00252 { 00253 uint32 shardId; 00254 msgin.serial(shardId); 00255 00256 if (serviceName != "WS") 00257 { 00258 nlwarning("SERVICE: received unauthorized R_SH_ID callback from service %s-%d asking to set ShardId to %d", serviceName.c_str(), serviceId, shardId); 00259 return; 00260 } 00261 00262 nlinfo("SERVICE: set ShardId to %d", shardId); 00263 IService::getInstance()->_ShardId = shardId; 00264 } |
|
Definition at line 85 of file naming_client.cpp. References cbRegisterBroadcast(), from, nlassert, Reason, Registered, RegisteredSID, RegisteredSuccess, NLMISC::CMemStream::serial(), and TSockId.
00086 { 00087 nlassert(RegisteredSID != NULL); 00088 00089 msgin.serial (RegisteredSuccess); 00090 if (RegisteredSuccess) 00091 { 00092 msgin.serial (*RegisteredSID); 00093 00094 // decode the registered services at the register process 00095 cbRegisterBroadcast (msgin, from, netbase); 00096 } 00097 else 00098 { 00099 msgin.serial( Reason ); 00100 } 00101 Registered = true; 00102 } |
|
Definition at line 119 of file naming_client.cpp. References _RegistrationBroadcastCallback, addr, nlinfo, nlstop, NLMISC::CMemStream::serial(), NLMISC::CMemStream::serialCont(), size, TServiceId, TSockId, uint16, and vectorCInetAddressToString(). Referenced by cbRegister().
00120 { 00121 TServiceId size; 00122 string name; 00123 TServiceId sid; 00124 vector<CInetAddress> addr; 00125 00126 msgin.serial (size); 00127 00128 for (TServiceId i = 0; i < size; i++) 00129 { 00130 msgin.serial (name); 00131 msgin.serial (sid); 00132 msgin.serialCont (addr); 00133 00134 // add it in the list 00135 00136 std::vector<CInetAddress> addrs; 00137 CNamingClient::find (sid, addrs); 00138 00139 if (addrs.size() == 0) 00140 { 00141 CNamingClient::RegisteredServicesMutex.enter (); 00142 CNamingClient::RegisteredServices.push_back (CNamingClient::CServiceEntry (name, sid, addr)); 00143 CNamingClient::RegisteredServicesMutex.leave (); 00144 00145 nlinfo ("NC: Registration Broadcast of the service %s-%hu '%s'", name.c_str(), (uint16)sid, vectorCInetAddressToString(addr).c_str()); 00146 00147 if (_RegistrationBroadcastCallback != NULL) 00148 _RegistrationBroadcastCallback (name, sid, addr); 00149 } 00150 else if (addrs.size() == 1) 00151 { 00152 CNamingClient::RegisteredServicesMutex.enter (); 00153 for (std::list<CNamingClient::CServiceEntry>::iterator it = CNamingClient::RegisteredServices.begin(); it != CNamingClient::RegisteredServices.end (); it++) 00154 { 00155 if (sid == (*it).SId) 00156 { 00157 (*it).Name = name; 00158 (*it).Addr = addr; 00159 break; 00160 } 00161 } 00162 CNamingClient::RegisteredServicesMutex.leave (); 00163 nlinfo ("NC: Registration Broadcast (update) of the service %s-%hu '%s'", name.c_str(), (uint16)sid, addr[0].asString().c_str()); 00164 } 00165 else 00166 { 00167 nlstop; 00168 } 00169 } 00170 00171 // FirstRegisteredBroadcast = true; 00172 00173 //CNamingClient::displayRegisteredServices (); 00174 } |
|
Definition at line 262 of file unitime.cpp. References NLNET::CInetAddress::asString(), from, NLNET::CCallbackNetBase::getSIDA(), NLNET::CCallbackNetBase::hostAddress(), NL_I64, nlinfo, nlstop, NLNET::CCallbackNetBase::send(), NLMISC::CMemStream::serial(), TSockId, and NLMISC::TTime.
00263 { 00264 nlstop; 00265 TTime ut = _CUniTime::getUniTime (); 00266 00267 // afficher l adresse de celui qui demande 00268 nlinfo("UT: Send the universal time %"NL_I64"d to '%s'", ut, netbase.hostAddress(from).asString().c_str()); 00269 00270 CMessage msgout (netbase.getSIDA(), "GUT"); 00271 msgout.serial (ut); 00272 netbase.send (msgout, from); 00273 } |
|
Definition at line 112 of file admin.cpp. References nlassert, Requests, NLMISC::CMemStream::serial(), serviceGetView(), uint16, and uint32.
00113 { 00114 uint32 rid; 00115 string rawvarpath; 00116 00117 msgin.serial (rid); 00118 msgin.serial (rawvarpath); 00119 00120 Requests.push_back (CRequest(rid, sid)); 00121 00122 vector<pair<vector<string>, vector<string> > > answer; 00123 // just send the view in async mode, don't retrieve the answer 00124 serviceGetView (rid, rawvarpath, answer, true); 00125 nlassert (answer.empty()); 00126 00127 /* 00128 CMessage msgout("VIEW"); 00129 msgout.serial(rid); 00130 00131 for (uint i = 0; i < answer.size(); i++) 00132 { 00133 msgout.serialCont (answer[i].first); 00134 msgout.serialCont (answer[i].second); 00135 } 00136 00137 CUnifiedNetwork::getInstance ()->send (sid, msgout); 00138 nlinfo ("ADMIN: Sent result view to service '%s-%hu'", serviceName.c_str(), sid); 00139 */ 00140 00141 } |
|
Definition at line 48 of file login_client.cpp. References NLMISC::CMemStream::serial(), ShardValidate, ShardValidateReason, and TSockId.
00049 { 00050 // 00051 // S14: receive "SV" message from FES 00052 // 00053 00054 msgin.serial (ShardValidateReason); 00055 ShardValidate = true; 00056 } |
|
Definition at line 181 of file login_server.cpp. References AcceptInvalidCookie, NLNET::CInetAddress::asString(), NLNET::CCallbackNetBase::authorizeOnly(), NLNET::CCallbackNetBase::disconnect(), from, NLNET::CCallbackNetBase::getSIDA(), NLNET::CLoginCookie::getUserId(), NLNET::CCallbackNetBase::hostAddress(), ModeTcp, NewClientCallback, nlwarning, NLNET::CCallbackNetBase::send(), NLMISC::CMemStream::serial(), Server, NLNET::CLoginCookie::set(), NLNET::CLoginCookie::toString(), TSockId, uint32, and UserIdSockAssociations.
00182 { 00183 // 00184 // S13: receive "SV" message from client 00185 // 00186 00187 // the client send me a cookie 00188 CLoginCookie cookie; 00189 string reason; 00190 msgin.serial (cookie); 00191 00192 string userName, userPriv; 00193 // verify that the user was pending 00194 reason = CLoginServer::isValidCookie (cookie, userName, userPriv); 00195 00196 // if the cookie is not valid and we accept them, clear the error 00197 if(AcceptInvalidCookie && !reason.empty()) 00198 { 00199 reason = ""; 00200 cookie.set (rand(), rand(), rand()); 00201 } 00202 00203 CMessage msgout2 (netbase.getSIDA (), "SV"); 00204 msgout2.serial (reason); 00205 netbase.send (msgout2, from); 00206 00207 if (!reason.empty()) 00208 { 00209 nlwarning ("LS: User (%s) is not in the pending user list (cookie:%s)", netbase.hostAddress(from).asString().c_str(), cookie.toString().c_str()); 00210 // deconnect him 00211 netbase.disconnect (from); 00212 } 00213 else 00214 { 00215 // add the user association 00216 uint32 userid = cookie.getUserId(); 00217 00218 if (ModeTcp) 00219 UserIdSockAssociations.insert (make_pair(userid, from)); 00220 00221 // identification OK, let's call the user callback 00222 if (NewClientCallback != NULL) 00223 NewClientCallback (from, cookie); 00224 00225 // ok, now, he can call all callback 00226 Server->authorizeOnly (NULL, from); 00227 } 00228 } |
|
Definition at line 191 of file udp_sim_sock.cpp. References NLMISC::CConfigFile::CVar::asInt(), NLMISC::CConfigFile::CVar::Name, and nlstop. Referenced by NLNET::CUdpSimSock::setSimValues().
00192 { 00193 if (var.Name == "SimInLag") CUdpSimSock::_InLag = var.asInt (); 00194 else if (var.Name == "SimInPacketLost") CUdpSimSock::_InPacketLoss = var.asInt (); 00195 else if (var.Name == "SimOutLag") CUdpSimSock::_OutLag = var.asInt (); 00196 else if (var.Name == "SimOutPacketLost") CUdpSimSock::_OutPacketLoss = var.asInt (); 00197 else if (var.Name == "SimOutPacketDuplication") CUdpSimSock::_OutPacketDuplication = var.asInt (); 00198 else if (var.Name == "SimOutPacketDisordering") CUdpSimSock::_OutPacketDisordering = var.asInt (); 00199 else nlstop; 00200 } |
|
Definition at line 45 of file callback_server.cpp. References NLNET::CCallbackServer::_ConnectionCallback, NLNET::CCallbackServer::_ConnectionCbArg, data, from, nlassert, nldebug, and TSockId. Referenced by NLNET::CCallbackServer::CCallbackServer().
00046 { 00047 nlassert (data != NULL); 00048 CCallbackServer *server = (CCallbackServer *)data; 00049 00050 nldebug("LNETL3S: newConnection()"); 00051 00052 #ifdef USE_MESSAGE_RECORDER 00053 // Record connection 00054 server->noticeConnection( from ); 00055 #endif 00056 00057 // send all my association to the new client 00058 // association are disactivated so we don t need to send them 00059 // server->sendAllMyAssociations (from); 00060 00061 // call the client callback if necessary 00062 if (server->_ConnectionCallback != NULL) 00063 server->_ConnectionCallback (from, server->_ConnectionCbArg); 00064 } |
|
Definition at line 162 of file admin.cpp. References nlinfo, and uint16.
00163 { 00164 nlinfo ("ADMIN: Receive a stop from service %s-%d, need to quit", serviceName.c_str(), sid); 00165 IService::getInstance()->exit (0xFFFF); 00166 } |
|
Definition at line 254 of file transport_class.cpp. References nlassert, nldebug, nlwarning, uint16, and uint8.
00255 { 00256 nldebug ("NETTC: cbReceiveMessage"); 00257 00258 CTransportClass::TempMessage.clear(); 00259 CTransportClass::TempMessage.assignFromSubMessage( msgin ); 00260 00261 string className; 00262 CTransportClass::TempMessage.serial (className); 00263 00264 CTransportClass::TRegisteredClass::iterator it = CTransportClass::LocalRegisteredClass.find (className); 00265 if (it == CTransportClass::LocalRegisteredClass.end ()) 00266 { 00267 nlwarning ("NETTC: Receive unknown transport class '%s' received from %s-%hu", className.c_str(), name.c_str(), sid); 00268 return; 00269 } 00270 00271 nlassert ((*it).second.Instance != NULL); 00272 00273 if (!(*it).second.Instance->read (name, (uint8)sid)) 00274 { 00275 nlwarning ("NETTC: Can't read the transportclass '%s' received from %s-%hu", className.c_str(), name.c_str(), sid); 00276 } 00277 } |
|
Definition at line 279 of file transport_class.cpp. References nldebug, NLMISC::CMemStream::serial(), NLMISC::IStream::serialEnum(), typeToString(), uint, uint16, uint32, and uint8.
00280 { 00281 nldebug ("NETTC: cbReceiveOtherSideClass"); 00282 00283 CTransportClass::TOtherSideRegisteredClass osrc; 00284 00285 uint32 nbClass; 00286 msgin.serial (nbClass); 00287 00288 nldebug ("NETTC: %d class", nbClass); 00289 00290 for (uint i = 0; i < nbClass; i++) 00291 { 00292 string className; 00293 msgin.serial (className); 00294 00295 osrc.push_back(make_pair (className, vector<CTransportClass::CRegisteredBaseProp>())); 00296 00297 uint32 nbProp; 00298 msgin.serial (nbProp); 00299 00300 nldebug ("NETTC: %s (%d prop)", className.c_str(), nbProp); 00301 00302 for (uint j = 0; j < nbProp; j++) 00303 { 00304 CTransportClass::CRegisteredBaseProp prop; 00305 msgin.serial (prop.Name); 00306 msgin.serialEnum (prop.Type); 00307 nldebug ("NETTC: %s %s", prop.Name.c_str(), typeToString(prop.Type).c_str()); 00308 osrc[osrc.size()-1].second.push_back (prop); 00309 } 00310 } 00311 00312 // we have the good structure 00313 CTransportClass::registerOtherSideClass ((uint8)sid, osrc); 00314 } |
|
Definition at line 322 of file transport_class.cpp. References nldebug, uint16, and uint8. Referenced by NLNET::CTransportClass::init().
|
|
Definition at line 178 of file naming_client.cpp. References _UnregistrationBroadcastCallback, nlassertex, nlinfo, nlwarning, NLMISC::CMemStream::serial(), TServiceId, TSockId, and uint16.
00179 { 00180 string name; 00181 TServiceId sid; 00182 vector<CInetAddress> addrs; 00183 00184 msgin.serial (name); 00185 msgin.serial (sid); 00186 00187 // remove it in the list, if the service is not found, ignore it 00188 00189 CNamingClient::RegisteredServicesMutex.enter (); 00190 for (std::list<CNamingClient::CServiceEntry>::iterator it = CNamingClient::RegisteredServices.begin(); it != CNamingClient::RegisteredServices.end (); it++) 00191 { 00192 if ((*it).SId == sid) 00193 { 00194 // check the structure 00195 nlassertex ((*it).Name == name, ("%s %s",(*it).Name.c_str(), name.c_str())); 00196 00197 addrs = (*it).Addr; 00198 00199 CNamingClient::RegisteredServices.erase (it); 00200 break; 00201 } 00202 } 00203 CNamingClient::RegisteredServicesMutex.leave (); 00204 00205 nlinfo ("NC: Unregistration Broadcast of the service %s-%hu", name.c_str(), (uint16)sid); 00206 00207 // send the ACK to the NS 00208 00209 CMessage msgout (CNamingClient::_Connection->getSIDA(), "ACK_UNI"); 00210 msgout.serial (sid); 00211 CNamingClient::_Connection->send (msgout); 00212 00213 // oh my god, it s my sid! but i m alive, why this f*cking naming service want to kill me? ok, i leave it alone! 00214 if(CNamingClient::_MySId == sid) 00215 { 00216 nlwarning ("NC: Naming Service asked me to leave, I leave!"); 00217 IService::getInstance()->exit(); 00218 return; 00219 } 00220 00221 if (_UnregistrationBroadcastCallback != NULL) 00222 _UnregistrationBroadcastCallback (name, sid, addrs); 00223 00224 //CNamingClient::displayRegisteredServices (); 00225 } |
|
Definition at line 100 of file login_server.cpp. References ListenAddr, nlinfo, nlwarning, PendingUsers, refreshPendingList(), NLMISC::CMemStream::serial(), NLNET::CLoginCookie::toString(), and uint16.
00101 { 00102 // the WS call me that a new client want to come in my shard 00103 string reason, userName, userPriv; 00104 CLoginCookie cookie; 00105 00106 refreshPendingList (); 00107 00108 // 00109 // S08: receive "CS" message from WS and send "SCS" message to WS 00110 // 00111 00112 msgin.serial (cookie); 00113 msgin.serial (userName, userPriv); 00114 00115 list<CPendingUser>::iterator it; 00116 for (it = PendingUsers.begin(); it != PendingUsers.end (); it++) 00117 { 00118 if ((*it).Cookie == cookie) 00119 { 00120 // the cookie already exists, erase it and return false 00121 nlwarning ("LS: Cookie %s is already in the pending user list", cookie.toString().c_str()); 00122 PendingUsers.erase (it); 00123 reason = "cookie already exists"; 00124 break; 00125 } 00126 } 00127 if (it == PendingUsers.end ()) 00128 { 00129 // add it to the awaiting client 00130 nlinfo ("LS: New cookie %s (name '%s' priv '%s') inserted in the pending user list (awaiting new client)", cookie.toString().c_str(), userName.c_str(), userPriv.c_str()); 00131 PendingUsers.push_back (CPendingUser (cookie, userName, userPriv)); 00132 reason = ""; 00133 } 00134 00135 CMessage msgout ("SCS"); 00136 msgout.serial (reason); 00137 msgout.serial (cookie); 00138 msgout.serial (ListenAddr); 00139 CUnifiedNetwork::getInstance()->send ("WS", msgout); 00140 } |
|
Definition at line 142 of file login_server.cpp. References NLNET::CCallbackServer::disconnect(), DisconnectClientCallback, ModeTcp, nlinfo, nlwarning, NLMISC::CMemStream::serial(), Server, uint16, uint32, and UserIdSockAssociations.
00143 { 00144 // the WS tells me that i have to disconnect a client 00145 00146 uint32 userid; 00147 msgin.serial (userid); 00148 00149 if (ModeTcp) 00150 { 00151 map<uint32, TSockId>::iterator it = UserIdSockAssociations.find (userid); 00152 if (it == UserIdSockAssociations.end ()) 00153 { 00154 nlwarning ("LS: Can't disconnect the user %d, he is not found", userid); 00155 } 00156 else 00157 { 00158 nlinfo ("LS: Disconnect the user %d", userid); 00159 Server->disconnect ((*it).second); 00160 } 00161 } 00162 00163 if (DisconnectClientCallback != NULL) 00164 { 00165 DisconnectClientCallback (userid); 00166 } 00167 } |
|
Definition at line 272 of file login_server.cpp. References AcceptInvalidCookie, NLMISC::CConfigFile::CVar::asInt(), and nlinfo. Referenced by NLNET::CLoginServer::init().
00273 { 00274 // set the new ListenAddr 00275 AcceptInvalidCookie = var.asInt() == 1; 00276 00277 nlinfo("LS: This service %saccept invalid cookie", AcceptInvalidCookie?"":"doesn't "); 00278 } |
|
Definition at line 264 of file login_server.cpp. References NLMISC::CConfigFile::CVar::asString(), DefaultUserPriv, and nlinfo. Referenced by NLNET::CLoginServer::init().
00265 { 00266 // set the new ListenAddr 00267 DefaultUserPriv = var.asString(); 00268 00269 nlinfo("LS: The default user priv is '%s'", DefaultUserPriv.c_str()); 00270 } |
|
Definition at line 259 of file login_server.cpp. References NLMISC::CConfigFile::CVar::asString(), and setListenAddress(). Referenced by NLNET::CLoginServer::init().
00260 { 00261 setListenAddress (var.asString()); 00262 } |
|
Definition at line 280 of file login_server.cpp. References NLMISC::CConfigFile::CVar::asInt(), nlinfo, and TimeBeforeEraseCookie. Referenced by NLNET::CLoginServer::init().
00281 { 00282 // set the new ListenAddr 00283 TimeBeforeEraseCookie = var.asInt(); 00284 00285 nlinfo("LS: This service will remove cookie after %d seconds", TimeBeforeEraseCookie); 00286 } |
|
Definition at line 310 of file admin.cpp. References NLMISC::CLog::displayRaw(), NLMISC::CLog::displayRawNL(), NLMISC::InfoLog, nldebug, nlinfo, nlwarning, Requests, RequestTimeout, NLMISC::CMemStream::serial(), NLMISC::CMemStream::serialCont(), uint, and uint32. Referenced by updateAdmin().
00311 { 00312 uint32 currentTime = CTime::getSecondsSince1970 (); 00313 00314 for (uint i = 0 ; i < Requests.size ();) 00315 { 00316 // timeout 00317 if (currentTime >= Requests[i].Time+RequestTimeout) 00318 { 00319 nlwarning ("ADMIN: **** i %d rid %d -> Requests[i].NbWaiting (%d) != Requests[i].NbReceived (%d)", i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); 00320 Requests[i].NbWaiting = Requests[i].NbReceived; 00321 } 00322 00323 if (Requests[i].NbWaiting <= Requests[i].NbReceived) 00324 { 00325 // the request is over, send to the php 00326 00327 CMessage msgout("VIEW"); 00328 msgout.serial (Requests[i].Id); 00329 00330 for (uint j = 0; j < Requests[i].Answers.size (); j++) 00331 { 00332 msgout.serialCont (Requests[i].Answers[j].first); 00333 msgout.serialCont (Requests[i].Answers[j].second); 00334 } 00335 00336 if (Requests[i].SId == 0) 00337 { 00338 nlinfo ("ADMIN: Receive an answer for the fake request %d with %d answers", Requests[i].Id, Requests[i].Answers.size ()); 00339 for (uint j = 0; j < Requests[i].Answers.size (); j++) 00340 { 00341 uint k; 00342 for (k = 0; k < Requests[i].Answers[j].first.size(); k++) 00343 { 00344 InfoLog->displayRaw ("%-10s", Requests[i].Answers[j].first[k].c_str()); 00345 } 00346 InfoLog->displayRawNL(""); 00347 for (k = 0; k < Requests[i].Answers[j].second.size(); k++) 00348 { 00349 InfoLog->displayRaw ("%-10s", Requests[i].Answers[j].second[k].c_str()); 00350 } 00351 InfoLog->displayRawNL(""); 00352 InfoLog->displayRawNL("-------------------------"); 00353 } 00354 } 00355 else 00356 { 00357 nlinfo ("ADMIN: The request is over, send the result to AES"); 00358 CUnifiedNetwork::getInstance ()->send (Requests[i].SId, msgout); 00359 } 00360 00361 // set to 0 to erase it 00362 Requests[i].NbWaiting = 0; 00363 nldebug ("ADMIN: ++ i %d rid %d NbWaiting0 %d NbReceived %d", i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); 00364 } 00365 00366 if (Requests[i].NbWaiting == 0) 00367 { 00368 Requests.erase (Requests.begin ()+i); 00369 } 00370 else 00371 { 00372 i++; 00373 } 00374 } 00375 } |
|
Definition at line 230 of file login_server.cpp. References NLNET::CCallbackNetBase::authorizeOnly(), from, nldebug, Server, and TSockId. Referenced by NLNET::CLoginServer::init().
00231 { 00232 nldebug("LS: new client connection: %s", from->asString ().c_str ()); 00233 00234 // the client could only call "SV" message 00235 Server->authorizeOnly ("SV", from); 00236 } |
|
Definition at line 1892 of file unified_network.cpp. References NLMISC::CLog::displayNL(), NLMISC::CEntityId::fromString(), NLMISC::CMemStream::serial(), sint16, sint32, sint64, sint8, type, uint, uint16, uint32, uint64, uint8, v, and value. Referenced by NLMISC_COMMAND().
01893 { 01894 for (uint i = 2; i < args.size (); i+=2) 01895 { 01896 string type = args[i+0]; 01897 string value = args[i+1]; 01898 01899 if (type == "s8") { sint8 v = atoi(value.c_str()); msgout.serial (v); } 01900 else if (type == "s16") { sint16 v = atoi(value.c_str()); msgout.serial (v); } 01901 else if (type == "s32") { sint32 v = atoi(value.c_str()); msgout.serial (v); } 01902 else if (type == "s64") { sint64 v = atoi(value.c_str()); msgout.serial (v); } 01903 else if (type == "u8") { uint8 v = atoi(value.c_str()); msgout.serial (v); } 01904 else if (type == "u16") { uint16 v = atoi(value.c_str()); msgout.serial (v); } 01905 else if (type == "u32") { uint32 v = atoi(value.c_str()); msgout.serial (v); } 01906 else if (type == "u64") { uint64 v = atoi(value.c_str()); msgout.serial (v); } 01907 else if (type == "f") { float v = (float)atof(value.c_str()); msgout.serial (v); } 01908 else if (type == "d") { double v = atof(value.c_str()); msgout.serial (v); } 01909 else if (type == "b") { bool v = atoi(value.c_str()) == 1; msgout.serial (v); } 01910 else if (type == "s") { msgout.serial (value); } 01911 else if (type == "e") { CEntityId e; e.fromString(value.c_str()); msgout.serial(e); } 01912 else { log.displayNL ("type '%s' is not a valid type", type.c_str()); return false; } 01913 } 01914 return true; 01915 } |
|
Definition at line 298 of file admin.cpp. References Requests, uint, and uint32.
|
|
TNetworkEvent -> string.
Definition at line 39 of file message_recorder.cpp. References Accepting, Connecting, ConnFailing, Disconnecting, nlstop, Receiving, and Sending. Referenced by NLNET::CMessageRecorder::checkNextOne(), and NLNET::TMessageRecord::serial().
00040 { 00041 switch ( e ) 00042 { 00043 case Sending: return "SEND"; 00044 case Receiving: return "RECV"; 00045 case Connecting: return "CONN"; 00046 case ConnFailing: return "CNFL"; 00047 case Accepting: return "ACCP"; 00048 case Disconnecting: return "DISC"; 00049 default: nlstop; return "-ERR-"; 00050 } 00051 } |
|
Get the name of message (for displaying), or extract the class name if it is a transport class. Preconditions:
Postconditions:
Definition at line 414 of file transport_class.cpp. References NLNET::CMessage::getHeaderSize(), NLNET::CMessage::getName(), NLMISC::CMemStream::seek(), and NLMISC::CMemStream::serial().
00415 { 00416 if ( msgin.getName() == "CT_MSG" ) 00417 { 00418 try 00419 { 00420 msgin.seek( msgin.getHeaderSize(), NLMISC::IStream::begin ); 00421 msgin.serial( msgName ); 00422 } 00423 catch ( EStreamOverflow& ) 00424 { 00425 msgName = "<Name not found>"; 00426 } 00427 msgName = "transport class " + msgName; 00428 } 00429 else 00430 { 00431 msgName = "msg " + msgin.getName(); 00432 } 00433 } |
|
Definition at line 636 of file admin.cpp. References cbAESConnection(), and cbAESDisconnection(). Referenced by NLNET::IService::main().
00637 { 00638 if (!dontUseAES) 00639 { 00640 CUnifiedNetwork::getInstance()->setServiceUpCallback ("AES", cbAESConnection, NULL); 00641 CUnifiedNetwork::getInstance()->setServiceDownCallback ("AES", cbAESDisconnection, NULL); 00642 CUnifiedNetwork::getInstance()->addService ("AES", CInetAddress("localhost:49997")); 00643 } 00644 CUnifiedNetwork::getInstance()->addCallbackArray (CallbackArray, sizeof(CallbackArray)/sizeof(CallbackArray[0])); 00645 } |
|
Definition at line 211 of file service.cpp. References NLMISC::getThreadId(), sigHandler(), and SignalisedThread. Referenced by NLNET::IService::main().
00212 { 00213 SignalisedThread = getThreadId (); 00214 #ifdef NL_DEBUG 00215 // in debug mode, we only trap the SIGINT signal 00216 signal(Signal[3], sigHandler); 00217 //nldebug("Signal : %s (%d) trapped", SignalName[3], Signal[3]); 00218 #else 00219 // in release, redirect all signals 00220 /* don't redirect now because to hard to debug... 00221 for (int i = 0; i < (int)(sizeof(Signal)/sizeof(Signal[0])); i++) 00222 { 00223 signal(Signal[i], sigHandler); 00224 nldebug("Signal %s (%d) trapped", SignalName[i], Signal[i]); 00225 } 00226 */ 00227 #endif 00228 } |
|
Take an internal address and convert it to a internet dot string.
Definition at line 527 of file inet_address.cpp. References addr, res, NLMISC::toString(), and uint32. Referenced by NLNET::CUnifiedNetwork::addNetworkAssociation(), and NLNET::CUnifiedNetwork::displayInternalTables().
|
|
Definition at line 378 of file admin.cpp. Referenced by serviceGetView().
00379 { 00380 if (str.size()<2) return false; 00381 return tolower(str[0]) == 'r' && tolower(str[1]) == 'c'; 00382 } |
|
Referenced by NLNET::IService::main(). |
|
|
|
Definition at line 2156 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_SId, NLNET::CUnifiedNetwork::isServiceLocal(), and uint16.
02157 { 02158 if(args.size() != 1) return false; 02159 02160 if (!CUnifiedNetwork::isUsed ()) 02161 { 02162 log.displayNL("Can't do that because the service doesn't use CUnifiedNetwork"); 02163 return false; 02164 } 02165 02166 uint16 sid = atoi (args[0].c_str ()); 02167 if (sid > 0) 02168 { 02169 log.displayNL ("Service %s-%hu and sid %s are %son the same computer", CUnifiedNetwork::getInstance ()->_Name.c_str(), (uint16)CUnifiedNetwork::getInstance ()->_SId, args[0].c_str(), CUnifiedNetwork::getInstance ()->isServiceLocal (sid)?"":"not "); 02170 } 02171 else 02172 { 02173 log.displayNL ("Service %s-%hu and %s are %son the same computer", CUnifiedNetwork::getInstance ()->_Name.c_str(), (uint16)CUnifiedNetwork::getInstance ()->_SId, args[0].c_str(), CUnifiedNetwork::getInstance ()->isServiceLocal (args[0])?"":"not "); 02174 } 02175 02176 return true; 02177 } |
|
Definition at line 2136 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_Callbacks, and uint.
02137 { 02138 if(args.size() != 0) return false; 02139 02140 if (!CUnifiedNetwork::isUsed ()) 02141 { 02142 log.displayNL("Can't display internal table because layer5 is not used"); 02143 return false; 02144 } 02145 02146 log.displayNL ("There're %d registered callbacks:", CUnifiedNetwork::getInstance()->_Callbacks.size()); 02147 uint i = 0; 02148 for (CUnifiedNetwork::TMsgMappedCallback::iterator it = CUnifiedNetwork::getInstance()->_Callbacks.begin(); it != CUnifiedNetwork::getInstance()->_Callbacks.end(); it++) 02149 { 02150 log.displayNL (" %d '%s' %s", i++, (*it).first.c_str(), ((*it).second == NULL?"have a NULL address":"")); 02151 } 02152 02153 return true; 02154 } |
|
Definition at line 2121 of file unified_network.cpp. References NLNET::CUnifiedNetwork::displayInternalTables().
02122 { 02123 if(args.size() != 0) return false; 02124 02125 if (!CUnifiedNetwork::isUsed ()) 02126 { 02127 log.displayNL("Can't display internal table because layer5 is not used"); 02128 return false; 02129 } 02130 02131 CUnifiedNetwork::getInstance ()->displayInternalTables(&log); 02132 02133 return true; 02134 } |
|
Definition at line 2098 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_IdCnx, and uint.
02099 { 02100 if(args.size() != 0) return false; 02101 02102 if (!CUnifiedNetwork::isUsed ()) 02103 { 02104 log.displayNL("Can't display internal table because layer5 is not used"); 02105 return false; 02106 } 02107 02108 log.displayNL ("%u Unified Connections:", CUnifiedNetwork::getInstance()->_IdCnx.size ()); 02109 for (uint i = 0; i < CUnifiedNetwork::getInstance()->_IdCnx.size (); i++) 02110 { 02111 if(CUnifiedNetwork::getInstance()->_IdCnx[i].State != CUnifiedNetwork::CUnifiedConnection::NotUsed) 02112 { 02113 CUnifiedNetwork::getInstance()->_IdCnx[i].display (true, &log); 02114 } 02115 } 02116 02117 return true; 02118 } |
|
Definition at line 2048 of file unified_network.cpp. References createMessage(), NLNET::CUnifiedNetwork::getNetBase(), NLNET::CCallbackNetBase::send(), TSockId, uint16, and uint8.
02048 : msgout 128 REGISTER u32 10 b 1 f 1.5)", "<ServiceName>|<ServiceId> <MessageName> [<ParamType> <Param>]*") 02049 { 02050 if(args.size() < 2) return false; 02051 02052 if (!CUnifiedNetwork::isUsed ()) 02053 { 02054 log.displayNL("Can't do that because the service doesn't use CUnifiedNetwork"); 02055 return false; 02056 } 02057 02058 uint16 serviceId = atoi (args[0].c_str()); 02059 string serviceName = args[0].c_str(); 02060 string messageName = args[1].c_str(); 02061 02062 if (serviceId > 255) 02063 { 02064 log.displayNL ("Service Id %d must be between [1;255]", serviceId); 02065 return false; 02066 } 02067 02068 if ((args.size()-2) % 2 != 0) 02069 { 02070 log.displayNL ("The number of parameter must be a multiple of 2"); 02071 return false; 02072 } 02073 02074 CMessage msg (messageName); 02075 02076 if (!createMessage (msg, args, log)) 02077 return false; 02078 02079 TSockId host = InvalidSockId; 02080 CCallbackNetBase *cnb = NULL; 02081 02082 if (serviceId != 0) 02083 cnb = CUnifiedNetwork::getInstance()->getNetBase ((uint8)serviceId, host); 02084 else 02085 cnb = CUnifiedNetwork::getInstance()->getNetBase (serviceName, host); 02086 02087 if (cnb == NULL) 02088 { 02089 log.displayNL ("'%s' is a bad <ServiceId> or <ServiceName>", args[0].c_str()); 02090 return false; 02091 } 02092 02093 cnb->send (msg, host); 02094 02095 return true; 02096 } |
|
Definition at line 1983 of file unified_network.cpp. References createMessage(), NLNET::CUnifiedNetwork::findCallback(), NLNET::CMessage::invert(), TUnifiedMsgCallback, and uint16.
01983 : msgin 128 REGISTER u32 10 b 1 f 1.5)", "<ServiceName>|<ServiceId> <MessageName> [<ParamType> <Param>]*") 01984 { 01985 if(args.size() < 2) return false; 01986 01987 if (!CUnifiedNetwork::isUsed ()) 01988 { 01989 log.displayNL("Can't do that because the service doesn't use CUnifiedNetwork"); 01990 return false; 01991 } 01992 01993 uint16 serviceId = atoi (args[0].c_str()); 01994 string serviceName = args[0].c_str(); 01995 string messageName = args[1].c_str(); 01996 01997 if (serviceId > 255) 01998 { 01999 log.displayNL ("Service Id %d must be between [1;255]", serviceId); 02000 return false; 02001 } 02002 02003 if ((args.size()-2) % 2 != 0) 02004 { 02005 log.displayNL ("The number of parameter must be a multiple of 2"); 02006 return false; 02007 } 02008 02009 CMessage msg (messageName); 02010 // msg.clear (); 02011 02012 if (!createMessage (msg, args, log)) 02013 return false; 02014 02015 02016 msg.invert (); 02017 02018 02019 02020 TUnifiedMsgCallback cb = CUnifiedNetwork::getInstance()->findCallback (messageName); 02021 02022 if (cb == NULL) 02023 { 02024 log.displayNL ("Callback for message '%s' is not found", messageName.c_str()); 02025 } 02026 else 02027 { 02028 cb (msg, serviceName, serviceId); 02029 } 02030 02031 02032 return true; 02033 } |
|
Definition at line 1504 of file service.cpp. References uint.
01505 { 01506 log.displayNL ("%d Variables not found in the configfile '%s'", IService::getInstance()->ConfigFile.UnknownVariables.size(), IService::getInstance()->ConfigFile.getFilename().c_str() ); 01507 for (uint i = 0; i < IService::getInstance()->ConfigFile.UnknownVariables.size(); i++) 01508 { 01509 log.displayNL (" %s", IService::getInstance()->ConfigFile.UnknownVariables[i].c_str()); 01510 } 01511 return true; 01512 } |
|
Definition at line 1498 of file service.cpp.
01499 { 01500 IService::getInstance()->ConfigFile.display (&log); 01501 return true; 01502 } |
|
Definition at line 1490 of file service.cpp. References uint32, w, x, and y.
|
|
Definition at line 1484 of file service.cpp.
01485 { 01486 IService::getInstance()->requireResetMeasures(); 01487 return true; 01488 } |
|
Definition at line 1454 of file service.cpp. References CompilationMode, and uint.
01455 { 01456 if(args.size() != 0) return false; 01457 01458 log.displayNL ("Service %s '%s' using NeL ("__DATE__" "__TIME__")", IService::getInstance()->getServiceLongName().c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); 01459 log.displayNL ("Service listening port: %d", IService::getInstance()->ListeningPort.get()); 01460 log.displayNL ("Service running directory: '%s'", IService::getInstance()->RunningDirectory.c_str()); 01461 log.displayNL ("Service log directory: '%s'", IService::getInstance()->LogDirectory.c_str()); 01462 log.displayNL ("Service save files directory: '%s'", IService::getInstance()->SaveFilesDirectory.c_str()); 01463 log.displayNL ("Service write files directory: '%s'", IService::getInstance()->WriteFilesDirectory.c_str()); 01464 log.displayNL ("Service config directory: '%s' config filename: '%s.cfg'", IService::getInstance()->ConfigDirectory.c_str(), IService::getInstance()->_LongName.c_str()); 01465 log.displayNL ("Service id: %d", IService::getInstance()->_SId); 01466 log.displayNL ("Service update timeout: %dms", IService::getInstance()->_UpdateTimeout); 01467 log.displayNL ("Service %suse naming service", IService::getInstance()->_DontUseNS?"don't ":""); 01468 log.displayNL ("Service %suse admin executor service", IService::getInstance()->_DontUseAES?"don't ":""); 01469 log.displayNL ("NeL is compiled in %s mode", CompilationMode.c_str()); 01470 01471 log.displayNL ("Services arguments: %d args", IService::getInstance()->_Args.size ()); 01472 for (uint i = 0; i < IService::getInstance()->_Args.size (); i++) 01473 { 01474 log.displayNL (" argv[%d] = '%s'", i, IService::getInstance()->_Args[i].c_str ()); 01475 } 01476 01477 log.displayNL ("Naming service info: %s", CNamingClient::info().c_str()); 01478 01479 ICommand::execute ("services", log); 01480 01481 return true; 01482 } |
|
Definition at line 1424 of file service.cpp.
01425 { 01426 if(args.size() != 0) return false; 01427 01428 ::exit (0xFFFFFFFF); 01429 01430 return true; 01431 } |
|
Definition at line 1414 of file service.cpp. References ExitSignalAsked.
01415 { 01416 if(args.size() != 0) return false; 01417 01418 log.displayNL("User ask me with a command to quit"); 01419 ExitSignalAsked = 0xFFFF; 01420 01421 return true; 01422 } |
|
Definition at line 557 of file naming_client.cpp.
00558 { 00559 if(args.size() != 0) return false; 00560 00561 CNamingClient::displayRegisteredServices (&log); 00562 00563 return true; 00564 } |
|
Definition at line 452 of file login_server.cpp. References PendingUsers.
00453 { 00454 if(args.size() != 0) return false; 00455 00456 log.displayNL ("Display the %d pending users :", PendingUsers.size()); 00457 for (list<CPendingUser>::iterator it = PendingUsers.begin(); it != PendingUsers.end (); it++) 00458 { 00459 log.displayNL ("> %s %s", (*it).Cookie.toString().c_str(), (*it).UserName.c_str()); 00460 } 00461 log.displayNL ("End of the list"); 00462 00463 return true; 00464 } |
|
Definition at line 431 of file login_server.cpp. References ModeTcp, and UserIdSockAssociations.
00432 { 00433 if(args.size() != 0) return false; 00434 00435 if (ModeTcp) 00436 { 00437 log.displayNL ("Display the %d connected users :", UserIdSockAssociations.size()); 00438 for (map<uint32, TSockId>::iterator it = UserIdSockAssociations.begin(); it != UserIdSockAssociations.end (); it++) 00439 { 00440 log.displayNL ("> %u %s", (*it).first, (*it).second->asString().c_str()); 00441 } 00442 log.displayNL ("End of the list"); 00443 } 00444 else 00445 { 00446 log.displayNL ("No user list in udp mode"); 00447 } 00448 00449 return true; 00450 } |
|
Definition at line 892 of file admin.cpp. References nlassert, serviceGetView(), and uint.
00893 { 00894 if(args.size() != 1) return false; 00895 00896 vector<pair<vector<string>, vector<string> > > answer; 00897 serviceGetView (0, args[0], answer); 00898 00899 log.displayNL("have %d answer", answer.size()); 00900 for (uint i = 0; i < answer.size(); i++) 00901 { 00902 log.displayNL(" have %d value", answer[i].first.size()); 00903 00904 nlassert (answer[i].first.size() == answer[i].second.size()); 00905 00906 for (uint j = 0; j < answer[i].first.size(); j++) 00907 { 00908 log.displayNL(" %s -> %s", answer[i].first[j].c_str(), answer[i].second[j].c_str()); 00909 } 00910 } 00911 00912 return true; 00913 } |
|
Definition at line 875 of file admin.cpp. References Alarms, GraphUpdates, and uint.
00876 { 00877 uint i; 00878 00879 log.displayNL("There're %d alarms:", Alarms.size()); 00880 for (i = 0; i < Alarms.size(); i++) 00881 { 00882 log.displayNL(" %d %s %d %s %s", i, Alarms[i].Name.c_str(), Alarms[i].Limit, (Alarms[i].GT?"gt":"lt"), (Alarms[i].Activated?"on":"off")); 00883 } 00884 log.displayNL("There're %d graphupdate:", GraphUpdates.size()); 00885 for (i = 0; i < GraphUpdates.size(); i++) 00886 { 00887 log.displayNL(" %d %s %d %d", i, GraphUpdates[i].Name.c_str(), GraphUpdates[i].Update, GraphUpdates[i].LastUpdate); 00888 } 00889 return true; 00890 } |
|
Definition at line 1958 of file unified_network.cpp. References NLNET::CUnifiedNetwork::getBytesSent(), pointer, and uint64.
|
|
Definition at line 1947 of file unified_network.cpp. References NLNET::CUnifiedNetwork::getBytesReceived(), pointer, and uint64.
|
|
Definition at line 1935 of file unified_network.cpp. References NLNET::CUnifiedNetwork::getReceiveQueueSize(), pointer, and uint64.
|
|
Definition at line 1924 of file unified_network.cpp. References NLNET::CUnifiedNetwork::getSendQueueSize(), pointer, and uint64.
|
|
Definition at line 1520 of file service.cpp. References ExitSignalAsked, nlinfo, nlwarning, and pointer.
01521 { 01522 static string running = "Online"; 01523 01524 // read or write the variable 01525 if (get) 01526 { 01527 *pointer = running; 01528 } 01529 else 01530 { 01531 if (IService::getInstance()->getServiceShortName() == "AES" || IService::getInstance()->getServiceShortName() == "AS") 01532 { 01533 nlinfo ("SERVICE: I can't set State=0 because I'm the admin and I should never quit"); 01534 } 01535 else if (*pointer == "0" || *pointer == "2") 01536 { 01537 // ok, we want to set the value to false, just quit 01538 nlinfo ("SERVICE: User ask me with a command to quit using the State variable"); 01539 ExitSignalAsked = 0xFFFE; 01540 running = "Quitting"; 01541 } 01542 else 01543 { 01544 nlwarning ("SERVICE: Unknown value for State '%s'", (*pointer).c_str()); 01545 } 01546 } 01547 } |
|
Definition at line 1402 of file service.cpp. References pointer.
01403 { 01404 if (get) 01405 { 01406 // display the scroll text 01407 static string foo = "Welcome to NeL Service! This scroll is used to see the update frequency of the main function and to see if the service is frozen or not. Have a nice day and hope you'll like NeL!!! " 01408 "Welcome to NeL Service! This scroll is used to see the update frequency of the main function and to see if the service is frozen or not. Have a nice day and hope you'll like NeL!!! "; 01409 static int pos = 0; 01410 *pointer = foo.substr ((pos++)%(foo.size()/2), 10); 01411 } 01412 } |
|
Definition at line 1375 of file service.cpp. References LaunchingDate, pointer, NLMISC::secondsToHumanReadable(), and NLMISC::toString().
01376 { 01377 if (get) 01378 { 01379 if (human) 01380 *pointer = secondsToHumanReadable (CTime::getSecondsSince1970() - LaunchingDate); 01381 else 01382 *pointer = NLMISC::toString(CTime::getSecondsSince1970() - LaunchingDate); 01383 } 01384 else 01385 { 01386 LaunchingDate = CTime::getSecondsSince1970() - atoi ((*pointer).c_str()); 01387 } 01388 } |
|
Definition at line 1370 of file service.cpp. References LaunchingDate, and pointer.
01371 { 01372 if (get) *pointer = asctime (localtime ((time_t*)&LaunchingDate)); 01373 } |
|
Definition at line 467 of file login_server.cpp. References NLNET::CInetAddress::asIPString(), ListenAddr, NLNET::CBufServer::listenAddress(), nlinfo, nlwarning, pointer, and Server.
00468 { 00469 if (get) 00470 { 00471 *pointer = ListenAddr; 00472 } 00473 else 00474 { 00475 if ((*pointer).find (":") == string::npos) 00476 { 00477 nlwarning ("LS: You must set the address + port (ie: \"itsalive.nevrax.org:38000\")"); 00478 return; 00479 } 00480 else if ((*pointer).empty()) 00481 { 00482 ListenAddr = Server->listenAddress ().asIPString(); 00483 } 00484 else 00485 { 00486 ListenAddr = *pointer; 00487 } 00488 nlinfo ("LS: Listen Address that will be send to client is '%s'", ListenAddr.c_str()); 00489 } 00490 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 62 of file net_manager.cpp. References NLNET::CBaseStruct::ConnectionCallback, NLNET::CBaseStruct::ConnectionCbArg, from, NLNET::CBaseStruct::Name, nlassert, nldebug, and TSockId. Referenced by NLNET::CNetManager::addServer().
00063 { 00064 nlassert (arg != NULL); 00065 CBaseStruct *basest = (CBaseStruct *)arg; 00066 00067 nldebug("HNETL4: nmNewConnection() from service '%s'", basest->Name.c_str ()); 00068 00069 // call the client callback if necessary 00070 if (basest->ConnectionCallback != NULL) 00071 basest->ConnectionCallback (basest->Name, from, basest->ConnectionCbArg); 00072 } |
|
Definition at line 74 of file net_manager.cpp. References NLNET::CBaseStruct::DisconnectionCallback, NLNET::CBaseStruct::DisconnectionCbArg, from, NLNET::CBaseStruct::Name, NLNET::CBaseStruct::NetBase, nlassert, nldebug, TSockId, and NLNET::CBaseStruct::Type. Referenced by NLNET::CNetManager::addClient(), NLNET::CNetManager::addServer(), and NLNET::CNetManager::createConnection().
00075 { 00076 nlassert (arg != NULL); 00077 CBaseStruct *basest = (CBaseStruct *)arg; 00078 00079 nldebug("HNETL4: nmNewDisconnection() from service '%s'", basest->Name.c_str ()); 00080 00081 // call the client callback if necessary 00082 if (basest->DisconnectionCallback != NULL) 00083 basest->DisconnectionCallback (basest->Name, from, basest->DisconnectionCbArg); 00084 00086 00087 // on a client, we have to clear the associations 00088 if (basest->Type != CBaseStruct::Server) 00089 { 00090 nlassert (basest->NetBase.size() == 1); 00091 basest->NetBase[0]->getSIDA ().clear (); 00092 } 00093 } |
|
Definition at line 153 of file inet_address.cpp. References NLNET::CInetAddress::_SockAddr, and NLNET::CInetAddress::port().
00154 { 00155 #ifdef NL_OS_WINDOWS 00156 if ( a1._SockAddr->sin_addr.S_un.S_addr == a2._SockAddr->sin_addr.S_un.S_addr ) 00157 { 00158 return ( a1.port() < a2.port() ); 00159 } 00160 else 00161 { 00162 return ( a1._SockAddr->sin_addr.S_un.S_addr < a2._SockAddr->sin_addr.S_un.S_addr ); 00163 } 00164 #elif defined NL_OS_UNIX 00165 if ( a1._SockAddr->sin_addr.s_addr == a2._SockAddr->sin_addr.s_addr ) 00166 { 00167 return ( a1.port() < a2.port() ); 00168 } 00169 else 00170 { 00171 return ( a1._SockAddr->sin_addr.s_addr < a2._SockAddr->sin_addr.s_addr ); 00172 } 00173 #endif 00174 } |
|
Definition at line 40 of file login_cookie.cpp. References NLNET::CLoginCookie::_UserAddr, NLNET::CLoginCookie::_UserId, NLNET::CLoginCookie::_UserKey, NLNET::CLoginCookie::_Valid, and nlassert.
00041 { 00042 nlassert (c1._Valid && c2._Valid); 00043 00044 return c1._UserAddr==c2._UserAddr && c1._UserKey==c2._UserKey && c1._UserId==c2._UserId; 00045 } |
|
Definition at line 143 of file inet_address.cpp. References NLNET::CInetAddress::_SockAddr.
|
|
Definition at line 79 of file login_server.cpp. References nlinfo, PendingUsers, TimeBeforeEraseCookie, and uint32. Referenced by cbWSChooseShard().
00080 { 00081 // delete too old cookie 00082 00083 list<CPendingUser>::iterator it = PendingUsers.begin(); 00084 uint32 Time = CTime::getSecondsSince1970(); 00085 while (it != PendingUsers.end ()) 00086 { 00087 if ((*it).Time < Time - TimeBeforeEraseCookie) 00088 { 00089 nlinfo("LS: Removing cookie '%s' because too old", (*it).Cookie.toString().c_str()); 00090 it = PendingUsers.erase (it); 00091 } 00092 else 00093 { 00094 it++; 00095 } 00096 } 00097 } |
|
Definition at line 131 of file net_manager.cpp. References addr, NLNET::CNetManager::ItBaseMap, nldebug, TServiceId, uint, and uint16. Referenced by NLNET::CNetManager::init().
00132 { 00133 nldebug("HNETL4: RegistrationBroadcast() of service %s-%hu", name.c_str (), (uint16)sid); 00134 00135 // find if this new service is interesting 00136 for (CNetManager::ItBaseMap itbm = CNetManager::_BaseMap.begin (); itbm != CNetManager::_BaseMap.end (); itbm++) 00137 { 00138 if ((*itbm).second.Type == CBaseStruct::Client && !(*itbm).second.NetBase[0]->connected()) 00139 { 00140 if (name == (*itbm).first) 00141 { 00142 // ok! it's cool, the service is here, go and connect to him! 00143 // ace warning don't work if more than one connection 00144 CNetManager::createConnection ((*itbm).second, addr[0], name); 00145 } 00146 } 00147 else if ((*itbm).second.Type == CBaseStruct::Group) 00148 { 00149 // ok, it's a group, try to see if it wants this! 00150 for (uint i = 0; i < (*itbm).second.ServiceNames.size (); i++) 00151 { 00152 if ((*itbm).second.ServiceNames[i] == name) 00153 { 00154 // ace warning don't work if more than one connection 00155 CNetManager::createConnection ((*itbm).second, addr[0], name); 00156 break; 00157 } 00158 } 00159 } 00160 } 00161 00162 } |
|
Definition at line 612 of file admin.cpp. References format, nlinfo, NLMISC_CONVERT_VARGS, NLMISC::CMemStream::serial(), and t. Referenced by updateAdmin().
00613 { 00614 char *text; 00615 NLMISC_CONVERT_VARGS (text, format, 4096); 00616 00617 time_t t = time (&t); 00618 00619 string str; 00620 str = asctime (localtime (&t)); 00621 str += " Server " + CInetAddress::localHost().hostName(); 00622 str += " service " + IService::getInstance()->getServiceUnifiedName(); 00623 str += " : "; 00624 str += text; 00625 00626 CMessage msgout("ADMIN_EMAIL"); 00627 msgout.serial (str); 00628 if(IService::getInstance ()->getServiceShortName()=="AES") 00629 CUnifiedNetwork::getInstance ()->send ("AS", msgout); 00630 else 00631 CUnifiedNetwork::getInstance ()->send ("AES", msgout); 00632 00633 nlinfo ("ADMIN: Forwarded email to AS with '%s'", str.c_str()); 00634 } |
|
Send an email
|
|
Definition at line 128 of file email.cpp. References buffer, NLNET::CSock::close(), NLNET::CTcpSock::connect(), NLNET::CSock::connected(), DefaultFrom, DefaultSMTPServer, DefaultTo, from, nlwarning, sendEMailCommand(), size, NLMISC::strlwr(), uint, and uuencode(). Referenced by NLNET::IService::main().
00129 { 00130 bool ok = false; 00131 CTcpSock sock; 00132 uint i; 00133 00134 string formatedBody; 00135 string formatedFrom; 00136 string formatedTo; 00137 string formatedSMTPServer; 00138 00139 try 00140 { 00141 00142 if (smtpServer.empty()) 00143 { 00144 if(DefaultSMTPServer.empty()) 00145 { 00146 nlwarning ("EMAIL: Can't send email because no SMTPServer was provided"); 00147 goto end; 00148 } 00149 else 00150 { 00151 formatedSMTPServer = DefaultSMTPServer; 00152 } 00153 } 00154 else 00155 { 00156 formatedSMTPServer = smtpServer; 00157 } 00158 00159 sock.connect(CInetAddress(formatedSMTPServer, 25)); 00160 00161 if (!sock.connected()) 00162 { 00163 nlwarning ("EMAIL: Can't connect to email server %s", formatedSMTPServer.c_str()); 00164 goto end; 00165 } 00166 00167 if (to.empty()) 00168 { 00169 if(DefaultTo.empty()) 00170 { 00171 nlwarning ("EMAIL: Can't send email because no To was provided"); 00172 goto end; 00173 } 00174 else 00175 { 00176 formatedTo = DefaultTo; 00177 } 00178 } 00179 else 00180 { 00181 formatedTo = to; 00182 } 00183 00184 if(from.empty()) 00185 { 00186 if (DefaultFrom.empty()) 00187 { 00188 formatedFrom = CInetAddress::localHost().hostName(); 00189 formatedFrom += "@gnu.org"; 00190 } 00191 else 00192 { 00193 formatedFrom = DefaultFrom; 00194 } 00195 } 00196 else 00197 { 00198 formatedFrom = from; 00199 } 00200 00201 // we must skip the first line 00202 formatedBody = "\r\n"; 00203 00204 // replace \n with \r\n 00205 for (i = 0; i < body.size(); i++) 00206 { 00207 if (body[i] == '\n' && i > 0 && body[i-1] != '\r') 00208 { 00209 formatedBody += '\r'; 00210 } 00211 formatedBody += body[i]; 00212 } 00213 00214 // add attachment if any 00215 if (!attachedFile.empty()) 00216 { 00217 string ext = CFile::getExtension(attachedFile); 00218 00219 string mimepart; 00220 00221 // mime header and main mail text 00222 00223 mimepart += "Mime-Version: 1.0\r\n"; 00224 mimepart += "Content-Type: multipart/mixed;\r\n"; 00225 mimepart += " boundary=\"Multipart_nel\"\r\n"; 00226 mimepart += "\r\n"; 00227 mimepart += "This is a multi-part message in MIME format.\r\n"; 00228 mimepart += "\r\n"; 00229 mimepart += "--Multipart_nel\r\n"; 00230 mimepart += "Content-Type: text/plain; charset=us-ascii\r\n"; 00231 mimepart += "Content-Transfer-Encoding: 7bit\r\n"; 00232 00233 formatedBody = mimepart + formatedBody; 00234 00235 // mime attachment 00236 00237 formatedBody += "--Multipart_nel\r\n"; 00238 formatedBody += "Content-Disposition: attachment;\r\n"; 00239 00240 if(strlwr(ext) == "tga") 00241 { 00242 formatedBody += "Content-Type: image/x-targa;\r\n"; 00243 } 00244 else if(strlwr(ext) == "bmp") 00245 { 00246 formatedBody += "Content-Type: image/bmp;\r\n"; 00247 } 00248 else if(strlwr(ext) == "png") 00249 { 00250 formatedBody += "Content-Type: image/png;\r\n"; 00251 } 00252 else if(strlwr(ext) == "jpg" || strlwr(ext) == "jpeg") 00253 { 00254 formatedBody += "Content-Type: image/jpeg;\r\n"; 00255 } 00256 else 00257 { 00258 formatedBody += "Content-Type: text/plain; charset=us-ascii\r\n"; 00259 } 00260 00261 formatedBody += " name=\""+CFile::getFilename(attachedFile)+"\"\r\n"; 00262 formatedBody += "Content-Transfer-Encoding: base64\r\n"; 00263 formatedBody += " filename=\""+CFile::getFilename(attachedFile)+"\"\r\n"; 00264 // empty line to say that it s the end of the header 00265 formatedBody += "\r\n"; 00266 00267 static const size_t src_buf_size = 45;// This *MUST* be a multiple of 3 00268 static const size_t dst_buf_size = 4 * ((src_buf_size + 2) / 3); 00269 size_t write_size = dst_buf_size; 00270 char src_buf[src_buf_size + 1]; 00271 char dst_buf[dst_buf_size + 1]; 00272 size_t size; 00273 00274 FILE *src_stream = fopen (attachedFile.c_str(), "rb"); 00275 if (src_stream == NULL) 00276 { 00277 nlwarning ("EMAIL: Can't attach file '%s' to the email because the file can't be open", attachedFile.c_str()); 00278 } 00279 else 00280 { 00281 while ((size = fread(src_buf, 1, src_buf_size, src_stream)) > 0) 00282 { 00283 if (size != src_buf_size) 00284 { 00285 /* write_size is always 60 until the last line */ 00286 write_size=(4 * ((size + 2) / 3)); 00287 /* pad with 0s so we can just encode extra bits */ 00288 memset(&src_buf[size], 0, src_buf_size - size); 00289 } 00290 /* Encode the buffer we just read in */ 00291 uuencode(src_buf, dst_buf, size); 00292 00293 formatedBody += dst_buf; 00294 formatedBody += "\r\n"; 00295 } 00296 fclose (src_stream); 00297 } 00298 formatedBody += "--Multipart_nel--"; 00299 } 00300 00301 // debug, display what we send into a file 00302 // { FILE *fp = fopen (CFile::findNewFile("mail.txt").c_str(), "wb"); 00303 // fwrite (formatedBody.c_str(), 1, formatedBody.size(), fp); 00304 // fclose (fp); } 00305 00306 if(!sendEMailCommand (sock, "", 220)) goto end; 00307 00308 if(onlyCheck) 00309 { 00310 if(!sendEMailCommand (sock, "HELO localhost")) goto end; 00311 if(!sendEMailCommand (sock, "MAIL FROM: " + formatedFrom)) goto end; 00312 if(!sendEMailCommand (sock, "RCPT TO: " + formatedTo)) goto end; 00313 if(!sendEMailCommand (sock, "QUIT", 221)) goto end; 00314 00315 ok = true; 00316 } 00317 else 00318 { 00319 if(!sendEMailCommand (sock, "HELO localhost")) goto end; 00320 if(!sendEMailCommand (sock, "MAIL FROM: " + formatedFrom)) goto end; 00321 if(!sendEMailCommand (sock, "RCPT TO: " + formatedTo)) goto end; 00322 if(!sendEMailCommand (sock, "DATA", 354)) goto end; 00323 00324 string buffer = 00325 "From: " + formatedFrom + "\r\n" 00326 "To: " + formatedTo + "\r\n" 00327 "Subject: " + subject + "\r\n" 00328 + formatedBody + "\r\n."; 00329 00330 if(!sendEMailCommand (sock, buffer)) goto end; 00331 if(!sendEMailCommand (sock, "QUIT", 221)) goto end; 00332 00333 ok = true; 00334 } 00335 } 00336 catch (Exception &e) 00337 { 00338 nlwarning ("EMAIL: Can't send email: %s", e.what()); 00339 goto end; 00340 } 00341 00342 end: 00343 if (sock.connected()) 00344 sock.close (); 00345 00346 return ok; 00347 } |
|
Definition at line 86 of file email.cpp. References NLNET::CInetAddress::asString(), buffer, nlwarning, NLNET::CSock::receive(), NLNET::CSock::remoteAddr(), res, NLNET::CSock::send(), size, uint32, and uint8. Referenced by sendEmail().
00087 { 00088 string buffer = command + "\r\n"; 00089 uint32 size = buffer.size(); 00090 if(!command.empty()) 00091 { 00092 if (sock.send ((uint8 *)buffer.c_str(), size) != CSock::Ok) 00093 { 00094 nlwarning ("EMAIL: Can't send data to the server"); 00095 return false; 00096 } 00097 } 00098 00099 string res; 00100 char c; 00101 while (true) 00102 { 00103 size = 1; 00104 00105 if (sock.receive((uint8*)&c, size, false) == CSock::Ok) 00106 { 00107 res += c; 00108 if (c == '\n') 00109 { 00110 uint32 c = atoi (res.c_str()); 00111 if (c != code) 00112 { 00113 nlwarning ("EMAIL: EMail command '%s' returned '%s' instead of code %d on sock %s", command.substr(0, 20).c_str(), res.substr(0, res.size()-2).c_str(), code, sock.remoteAddr().asString().c_str()); 00114 return false; 00115 } 00116 return true; 00117 } 00118 } 00119 else 00120 { 00121 nlwarning ("EMAIL: EMail connection closed before end of line, command '%s' returned '%s' on sock %s (code %d)", command.substr(0, 20).c_str(), res.c_str(), sock.remoteAddr().asString().c_str(), code); 00122 return false; 00123 } 00124 } 00125 } |
|
|
|
Definition at line 386 of file admin.cpp. References NLMISC::CLog::addDisplayer(), addRequestAnswer(), addRequestWaitingNb(), NLMISC::CMemDisplayer::clear(), CVarPath::Destination, CVarPath::empty(), CVarPath::isFinal(), isRemoteCommand(), NLMISC::CMemDisplayer::lockStrings(), nlinfo, RemoteClientCallback, NLMISC::CMemDisplayer::setParam(), size, uint, uint32, NLMISC::CMemDisplayer::unlockStrings(), value, and y. Referenced by cbServGetView(), and NLMISC_COMMAND().
00387 { 00388 string str; 00389 CLog logDisplayVars; 00390 CLightMemDisplayer mdDisplayVars; 00391 logDisplayVars.addDisplayer (&mdDisplayVars); 00392 mdDisplayVars.setParam (1024); 00393 00394 CVarPath varpath(rawvarpath); 00395 00396 if (varpath.empty()) 00397 return; 00398 00399 if (varpath.isFinal()) 00400 { 00401 vector<string> vara, vala; 00402 00403 // add default row 00404 vara.push_back ("service"); 00405 vala.push_back (IService::getInstance ()->getServiceUnifiedName()); 00406 00407 for (uint j = 0; j < varpath.Destination.size (); j++) 00408 { 00409 string cmd = varpath.Destination[j].first; 00410 00411 // replace = with space to execute the command 00412 uint eqpos = cmd.find("="); 00413 if (eqpos != string::npos) 00414 { 00415 cmd[eqpos] = ' '; 00416 vara.push_back(cmd.substr(0, eqpos)); 00417 } 00418 else 00419 vara.push_back(cmd); 00420 00421 mdDisplayVars.clear (); 00422 ICommand::execute(cmd, logDisplayVars, !ICommand::isCommand(cmd)); 00423 const std::deque<std::string> &strs = mdDisplayVars.lockStrings(); 00424 00425 if (ICommand::isCommand(cmd)) 00426 { 00427 // we want the log of the command 00428 if (j == 0) 00429 { 00430 vara.clear (); 00431 vara.push_back ("__log"); 00432 vala.clear (); 00433 } 00434 00435 vala.push_back ("----- Result from "+IService::getInstance()->getServiceUnifiedName()+" of command '"+cmd+"'\n"); 00436 for (uint k = 0; k < strs.size(); k++) 00437 { 00438 vala.push_back (strs[k]); 00439 } 00440 } 00441 else 00442 { 00443 00444 if (strs.size()>0) 00445 { 00446 str = strs[0].substr(0,strs[0].size()-1); 00447 // replace all spaces into udnerscore because space is a reserved char 00448 for (uint i = 0; i < str.size(); i++) if (str[i] == ' ') str[i] = '_'; 00449 00450 /* 00451 uint32 pos = strs[0].find("="); 00452 if(pos != string::npos && pos + 2 < strs[0].size()) 00453 { 00454 uint32 pos2 = string::npos; 00455 if(strs[0][strs[0].size()-1] == '\n') 00456 pos2 = strs[0].size() - pos - 2 - 1; 00457 00458 str = strs[0].substr (pos+2, pos2); 00459 00460 // replace all spaces into udnerscore because space is a reserved char 00461 for (uint i = 0; i < str.size(); i++) if (str[i] == ' ') str[i] = '_'; 00462 } 00463 else 00464 { 00465 str = "???"; 00466 }*/ 00467 } 00468 else 00469 { 00470 str = "???"; 00471 } 00472 vala.push_back (str); 00473 nlinfo ("ADMIN: Add to result view '%s' = '%s'", varpath.Destination[j].first.c_str(), str.c_str()); 00474 } 00475 mdDisplayVars.unlockStrings(); 00476 } 00477 00478 if (!async) 00479 answer.push_back (make_pair(vara, vala)); 00480 else 00481 { 00482 addRequestWaitingNb (rid); 00483 addRequestAnswer (rid, vara, vala); 00484 } 00485 } 00486 else 00487 { 00488 // there s an entity in the varpath, manage this case 00489 00490 vector<string> *vara=0, *vala=0; 00491 00492 // varpath.Destination contains the entity number 00493 // subvarpath.Destination contains the command name 00494 00495 for (uint i = 0; i < varpath.Destination.size (); i++) 00496 { 00497 CVarPath subvarpath(varpath.Destination[i].second); 00498 00499 for (uint j = 0; j < subvarpath.Destination.size (); j++) 00500 { 00501 // set the variable name 00502 string cmd = subvarpath.Destination[j].first; 00503 00504 if (isRemoteCommand(cmd)) 00505 { 00506 if (async && RemoteClientCallback != 0) 00507 { 00508 // ok we have to send the request to another side, just send and wait 00509 addRequestWaitingNb (rid); 00510 RemoteClientCallback (rid, cmd, varpath.Destination[i].first); 00511 } 00512 } 00513 else 00514 { 00515 // replace = with space to execute the command 00516 uint eqpos = cmd.find("="); 00517 if (eqpos != string::npos) 00518 { 00519 cmd[eqpos] = ' '; 00520 // add the entity 00521 cmd.insert(eqpos, " "+varpath.Destination[i].first); 00522 } 00523 else 00524 { 00525 // add the entity 00526 cmd += " "+varpath.Destination[i].first; 00527 } 00528 00529 mdDisplayVars.clear (); 00530 ICommand::execute(cmd, logDisplayVars, true); 00531 const std::deque<std::string> &strs = mdDisplayVars.lockStrings(); 00532 for (uint k = 0; k < strs.size(); k++) 00533 { 00534 const string &str = strs[k]; 00535 00536 uint32 pos = str.find(" "); 00537 if(pos == string::npos) 00538 continue; 00539 00540 string entity = str.substr(0, pos); 00541 string value = str.substr(pos+1, str.size()-pos-2); 00542 for (uint u = 0; u < value.size(); u++) if (value[u] == ' ') value[u] = '_'; 00543 00544 // look in the array if we already have something about this entity 00545 00546 if (!async) 00547 { 00548 uint y; 00549 for (y = 0; y < answer.size(); y++) 00550 { 00551 if (answer[y].second[1] == entity) 00552 { 00553 // ok we found it, just push_back new stuff 00554 vara = &(answer[y].first); 00555 vala = &(answer[y].second); 00556 break; 00557 } 00558 } 00559 if (y == answer.size ()) 00560 { 00561 answer.push_back (make_pair(vector<string>(), vector<string>())); 00562 00563 vara = &(answer[answer.size()-1].first); 00564 vala = &(answer[answer.size()-1].second); 00565 00566 // don't add service if we want an entity 00567 // todo when we work on entity, we don't need service name and server so we should remove them and collapse all var for the same entity 00568 vara->push_back ("service"); 00569 string name = IService::getInstance ()->getServiceUnifiedName(); 00570 vala->push_back (name); 00571 00572 // add default row 00573 vara->push_back ("entity"); 00574 vala->push_back (entity); 00575 } 00576 00577 vara->push_back (cmd.substr(0, cmd.find(" "))); 00578 vala->push_back (value); 00579 } 00580 else 00581 { 00582 addRequestWaitingNb (rid); 00583 00584 vector<string> vara, vala; 00585 vara.push_back ("service"); 00586 string name = IService::getInstance ()->getServiceUnifiedName(); 00587 vala.push_back (name); 00588 00589 // add default row 00590 vara.push_back ("entity"); 00591 vala.push_back (entity); 00592 00593 vara.push_back (cmd.substr(0, cmd.find(" "))); 00594 vala.push_back (value); 00595 00596 addRequestAnswer (rid, vara, vala); 00597 } 00598 nlinfo ("ADMIN: Add to result view for entity '%s', '%s' = '%s'", varpath.Destination[i].first.c_str(), subvarpath.Destination[j].first.c_str(), str.c_str()); 00599 } 00600 mdDisplayVars.unlockStrings(); 00601 } 00602 } 00603 } 00604 } 00605 } |
|
If you call this function, the default from (when from is "") used in the sendEmail will be the one you set by this function Definition at line 349 of file email.cpp. References DefaultFrom, DefaultSMTPServer, DefaultTo, and from. Referenced by NLNET::IService::main().
00350 { 00351 DefaultSMTPServer = smtpServer; 00352 DefaultFrom = from; 00353 DefaultTo = to; 00354 } |
|
|
|
Definition at line 797 of file admin.cpp. References Alarms, CVarPath::Destination, GraphUpdates, nlinfo, and uint. Referenced by cbInfo().
00798 { 00799 uint i; 00800 00801 // add only commands that I understand 00802 Alarms.clear (); 00803 for (i = 0; i < alarms.size(); i+=3) 00804 { 00805 CVarPath shardvarpath (alarms[i]); 00806 if(shardvarpath.Destination.size() == 0 || shardvarpath.Destination[0].second.empty()) 00807 continue; 00808 CVarPath servervarpath (shardvarpath.Destination[0].second); 00809 if(servervarpath.Destination.size() == 0 || servervarpath.Destination[0].second.empty()) 00810 continue; 00811 CVarPath servicevarpath (servervarpath.Destination[0].second); 00812 if(servicevarpath.Destination.size() == 0 || servicevarpath.Destination[0].second.empty()) 00813 continue; 00814 00815 string name = servicevarpath.Destination[0].second; 00816 00817 if (IService::getInstance()->getServiceUnifiedName().find(servicevarpath.Destination[0].first) != string::npos && ICommand::exists(name)) 00818 { 00819 nlinfo ("ADMIN: Adding alarm '%s' limit %d order %s (varpath '%s')", name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str()); 00820 Alarms.push_back(CAlarm(name, atoi(alarms[i+1].c_str()), alarms[i+2]=="gt")); 00821 } 00822 else 00823 { 00824 if (IService::getInstance()->getServiceUnifiedName().find(servicevarpath.Destination[0].first) == string::npos) 00825 { 00826 nlinfo ("ADMIN: Skipping alarm '%s' limit %d order %s (varpath '%s') (not for my service, i'm '%s')", name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); 00827 } 00828 else 00829 { 00830 nlinfo ("ADMIN: Skipping alarm '%s' limit %d order %s (varpath '%s') (var not exist)", name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str()); 00831 } 00832 } 00833 } 00834 00835 // do the same with graph update 00836 GraphUpdates.clear (); 00837 for (i = 0; i < graphupdate.size(); i+=2) 00838 { 00839 CVarPath shardvarpath (graphupdate[i]); 00840 if(shardvarpath.Destination.size() == 0 || shardvarpath.Destination[0].second.empty()) 00841 continue; 00842 CVarPath servervarpath (shardvarpath.Destination[0].second); 00843 if(servervarpath.Destination.size() == 0 || servervarpath.Destination[0].second.empty()) 00844 continue; 00845 CVarPath servicevarpath (servervarpath.Destination[0].second); 00846 if(servicevarpath.Destination.size() == 0 || servicevarpath.Destination[0].second.empty()) 00847 continue; 00848 00849 string VarName = servicevarpath.Destination[0].second; 00850 string ServiceName = servicevarpath.Destination[0].first; 00851 00852 if (ICommand::exists(VarName) && (ServiceName == "*" || IService::getInstance()->getServiceShortName() == ServiceName)) 00853 { 00854 nlinfo ("ADMIN: Adding graphupdate '%s' update %d (varpath '%s')", VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str()); 00855 GraphUpdates.push_back(CGraphUpdate(VarName, atoi(graphupdate[i+1].c_str()))); 00856 } 00857 else 00858 { 00859 if (IService::getInstance()->getServiceShortName() != ServiceName) 00860 { 00861 nlinfo ("ADMIN: Skipping graphupdate '%s' limit %d (varpath '%s') (not for my service, i'm '%s')", VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); 00862 } 00863 else 00864 { 00865 nlinfo ("ADMIN: Skipping graphupdate '%s' limit %d (varpath '%s') (var not exist)", VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str()); 00866 } 00867 } 00868 } 00869 } |
|
Definition at line 244 of file login_server.cpp. References NLNET::CInetAddress::asIPString(), ListenAddr, NLNET::CBufServer::listenAddress(), ModeTcp, nlinfo, and Server. Referenced by cfcbListenAddress(), and NLNET::CLoginServer::init().
00245 { 00246 // if the var is empty or not found, take it from the listenAddress() 00247 if (la.empty() && ModeTcp && Server != NULL) 00248 { 00249 ListenAddr = Server->listenAddress ().asIPString(); 00250 } 00251 else 00252 { 00253 ListenAddr = la; 00254 } 00255 00256 nlinfo("LS: Listen Address that will be send to client is now '%s'", ListenAddr.c_str()); 00257 } |
|
Definition at line 211 of file admin.cpp. References RemoteClientCallback, and TRemoteClientCallback.
00212 { 00213 RemoteClientCallback = cb; 00214 } |
|
Definition at line 164 of file service.cpp. References ExitSignalAsked, NLMISC::getThreadId(), nldebug, nlinfo, nlwarning, sigHandler(), SignalisedThread, and SignalName. Referenced by initSignal(), and sigHandler().
00165 { 00166 // redirect the signal for the next time 00167 signal(Sig, sigHandler); 00168 00169 // find the signal 00170 for (int i = 0; i < (int)(sizeof(Signal)/sizeof(Signal[0])); i++) 00171 { 00172 if (Sig == Signal[i]) 00173 { 00174 if (getThreadId () != SignalisedThread) 00175 { 00176 nldebug ("SERVICE: Not the main thread received the signal (%s, %d), ignore it", SignalName[i],Sig); 00177 return; 00178 } 00179 else 00180 { 00181 nlinfo ("SERVICE: Signal %s (%d) received", SignalName[i], Sig); 00182 switch (Sig) 00183 { 00184 case SIGABRT : 00185 case SIGILL : 00186 case SIGINT : 00187 case SIGSEGV : 00188 case SIGTERM : 00189 // you should not call a function and system function like printf in a SigHandle because 00190 // signal-handler routines are usually called asynchronously when an interrupt occurs. 00191 if (ExitSignalAsked == 0) 00192 { 00193 nlinfo ("SERVICE: Receive a signal that said that i must exit"); 00194 ExitSignalAsked = Sig; 00195 return; 00196 } 00197 else 00198 { 00199 nlinfo ("SERVICE: Signal already received, launch the brutal exit"); 00200 exit (EXIT_FAILURE); 00201 } 00202 break; 00203 } 00204 } 00205 } 00206 } 00207 nlwarning ("SERVICE: Unknown signal received (%d)", Sig); 00208 } |
|
Definition at line 106 of file buf_sock.cpp. References len, nlassertex, s, uint32, uint8, and v.
00107 { 00108 nlassertex( pos+len <= v.size(), ("pos=%u len=%u size=%u", pos, len, v.size()) ); 00109 00110 string s; 00111 if ( (! v.empty()) && (len!=0) ) 00112 { 00113 // Copy contents 00114 s.resize( len ); 00115 memcpy( &*s.begin(), &*v.begin()+pos, len ); 00116 00117 // Replace '\0' characters 00118 string::iterator is; 00119 for ( is=s.begin(); is!=s.end(); ++is ) 00120 { 00121 if ( ! isprint((uint8)(*is)) || (*is) == '%' ) 00122 { 00123 (*is) = '?'; 00124 } 00125 } 00126 } 00127 00128 return s; 00129 } |
|
string -> TNetworkEvent
Definition at line 54 of file message_recorder.cpp. References Accepting, Connecting, ConnFailing, Disconnecting, Error, nlstop, Receiving, s, Sending, and TNetworkEvent. Referenced by NLNET::TMessageRecord::serial().
00055 { 00056 if ( s == "RECV" ) 00057 return Receiving; 00058 else if ( s == "SEND" ) 00059 return Sending; 00060 else if ( s == "DISC" ) 00061 return Disconnecting; 00062 else if ( s == "ACCP" ) 00063 return Accepting; 00064 else if ( s == "CONN" ) 00065 return Connecting; 00066 else if ( s == "CNFL" ) 00067 return ConnFailing; 00068 else 00069 { 00070 nlstop; 00071 return Error; 00072 } 00073 } |
|
Take a internet dot string and convert it in an uint32 internal format for example "128.64.32.16" -> 0xF0804020.
Definition at line 522 of file inet_address.cpp. Referenced by NLNET::CUnifiedNetwork::addNetworkAssociation().
00523 { 00524 return inet_addr( addr.c_str() ); 00525 } |
|
Definition at line 237 of file admin.cpp. References nldebug, nlwarning, Requests, uint, and uint32.
00238 { 00239 for (uint i = 0 ; i < Requests.size (); i++) 00240 { 00241 if (Requests[i].Id == rid) 00242 { 00243 Requests[i].NbWaiting--; 00244 nldebug ("ADMIN: ++ i %d rid %d NbWaiting- %d NbReceived %d", i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); 00245 return; 00246 } 00247 } 00248 nlwarning ("ADMIN: subRequestWaitingNb: can't find the rid %d", rid); 00249 } |
|
Definition at line 77 of file transport_class.cpp. References type. Referenced by cbTCReceiveOtherSideClass().
00078 { 00079 string conv[] = { 00080 "PropUInt8", "PropUInt16", "PropUInt32", "PropUInt64", 00081 "PropSInt8", "PropSInt16", "PropSInt32", "PropSInt64", 00082 "PropBool", "PropFloat", "PropDouble", "PropString", "PropDataSetRow", "PropSheetId", "PropUKN" }; 00083 // "PropBool", "PropFloat", "PropDouble", "PropString", "PropDataSetRow", "PropEntityId", "PropSheetId", "PropUKN" }; 00084 00085 if (type > CTransportClass::PropUKN) 00086 return "<InvalidType>"; 00087 return conv[type]; 00088 } |
|
Definition at line 172 of file unified_network.cpp. References AppIdDeadConnection, from, nlinfo, and TSockId. Referenced by NLNET::CUnifiedNetwork::init().
|
|
Definition at line 179 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_UsedConnection, allstuffs, AppIdDeadConnection, AUTOCHECK_DISPLAY, NLNET::CUnifiedNetwork::CUnifiedConnection::AutoRetry, NLNET::CUnifiedNetwork::callServiceDownCallback(), NLNET::CUnifiedNetwork::CUnifiedConnection::Connection, from, NLNET::CUnifiedNetwork::getUnifiedConnection(), NLNET::CUnifiedNetwork::CUnifiedConnection::IsExternal, nlinfo, NLNET::CUnifiedNetwork::removeNamedCnx(), NLNET::CUnifiedNetwork::CUnifiedConnection::reset(), NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceId, NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName, NLMISC::toString(), TSockId, uint, and uint16. Referenced by NLNET::CUnifiedNetwork::addService(), and NLNET::CUnifiedNetwork::init().
00180 { 00181 if(from->appId () == AppIdDeadConnection) 00182 { 00183 nlinfo ("HNETL5: - connec '%s'", from->asString().c_str()); 00184 test.displayNL ("-connect dead conenction"); 00185 } 00186 else 00187 { 00188 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); 00189 uint16 sid = (uint16)from->appId(); 00190 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); 00191 if (uc == 0) 00192 { 00193 nlinfo ("HNETL5: - connec '%s' sid %hu", from->asString().c_str(), sid); 00194 test.displayNL ("-connect '%s' %hu", from->asString ().c_str (), sid); 00195 } 00196 else 00197 { 00198 nlinfo ("HNETL5: - connec '%s' %s-%hu", from->asString().c_str(), uc->ServiceName.c_str (), sid); 00199 allstuffs += "-connect "+uc->ServiceName+"-"+toString(sid)+"\n"; 00200 test.displayNL ("-connect %s-%hu", uc->ServiceName.c_str (), (uint16)(uc->ServiceId)); 00201 00202 if (uc->IsExternal) 00203 { 00204 if (!uc->AutoRetry) 00205 { 00206 // If it s a external service with no auto retry, remove the connection 00207 00208 // call the user callback 00209 uni->callServiceDownCallback(uc->ServiceName, uc->ServiceId); 00210 00211 /*CUnifiedNetwork::TNameMappedCallback::iterator it2 = uni->_DownCallbacks.find(uc->ServiceName); 00212 00213 if (it2 != uni->_DownCallbacks.end()) 00214 { 00215 // call it 00216 TUnifiedNetCallback cb = (*it2).second.first; 00217 cb(uc->ServiceName, uc->ServiceId, (*it2).second.second); 00218 } 00219 00220 for (uint c = 0; c < uni->_DownUniCallback.size (); c++) 00221 { 00222 if (uni->_DownUniCallback[c].first != NULL) 00223 uni->_DownUniCallback[c].first(uc->ServiceName, uc->ServiceId, uni->_DownUniCallback[c].second); 00224 }*/ 00225 00226 uni->removeNamedCnx (uc->ServiceName, uc->ServiceId); 00227 00228 // remove the _UsedConnection 00229 bool found = false; 00230 for (vector<uint16>::iterator it = uni->_UsedConnection.begin (); it != uni->_UsedConnection.end(); it++) 00231 { 00232 if (*it == uc->ServiceId) 00233 { 00234 found = true; 00235 uni->_UsedConnection.erase (it); 00236 break; 00237 } 00238 } 00239 if (!found) AUTOCHECK_DISPLAY ("HNETL5: can't find the sid %hu in the _UsedConnection", uc->ServiceId); 00240 00241 uc->reset (); 00242 } 00243 } 00244 else 00245 { 00246 // reset the connection 00247 uint i; 00248 for (i = 0; i < uc->Connection.size (); i++) 00249 { 00250 if (uc->Connection[i].valid() && uc->Connection[i].CbNetBase->getSockId(uc->Connection[i].HostId) == from) 00251 { 00252 if (uc->Connection[i].IsServerConnection) 00253 { 00254 // we have to remove the stuffs now because HostId will not be accessible later 00255 uc->Connection[i].reset(); 00256 } 00257 else 00258 { 00259 // if it s a client, we can't delete now because the callback client is currently in use 00260 // only disconnect 00261 if(uc->Connection[i].CbNetBase->connected ()) 00262 { 00263 uc->Connection[i].CbNetBase->disconnect (uc->Connection[i].HostId); 00264 } 00265 } 00266 break; 00267 } 00268 } 00269 if (i == uc->Connection.size ()) 00270 { 00271 AUTOCHECK_DISPLAY ("HNETL5: received a disconnection from a service but the connection is not in my list!"); 00272 } 00273 } 00274 } 00275 00276 from->setAppId (AppIdDeadConnection); 00277 } 00278 } |
|
Definition at line 406 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_Callbacks, AppIdDeadConnection, AUTOCHECK_DISPLAY, from, NLNET::CMessage::getName(), NLNET::CUnifiedNetwork::getUnifiedConnection(), H_AUTO, NL_I64, nlwarning, NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName, TotalCallbackCalled, NLNET::CUnifiedNetwork::CUnifiedConnection::TotalCallbackCalled, TSockId, and uint16. Referenced by NLNET::CUnifiedNetwork::addService(), and NLNET::CUnifiedNetwork::init().
00407 { 00408 if (from->appId() == AppIdDeadConnection) 00409 { 00410 AUTOCHECK_DISPLAY ("HNETL5: Receive a message from a dead connection"); 00411 return; 00412 } 00413 00414 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); 00415 uint16 sid = (uint16)from->appId(); 00416 CUnifiedNetwork::TMsgMappedCallback::iterator itcb; 00417 00418 itcb = uni->_Callbacks.find(msgin.getName()); 00419 if (itcb == uni->_Callbacks.end()) 00420 { 00421 // the callback doesn't exist 00422 nlwarning ("HNETL5: Can't find callback '%s' called by service %hu", msgin.getName().c_str(), sid); 00423 } 00424 else 00425 { 00426 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); 00427 00428 if (uc == 0) 00429 { 00430 nlwarning ("HNETL5: Received a message from a service %hu that is not ready (bad appid? 0x%"NL_I64"X)", sid, from->appId ()); 00431 return; 00432 } 00433 if((*itcb).second == 0) 00434 { 00435 nlwarning ("HNETL5: Received message %s from a service %hu but the associated callback is NULL", msgin.getName ().c_str(), sid); 00436 return; 00437 } 00438 00439 { 00440 static map<string, CHTimer> timers; 00441 map<string, CHTimer>::iterator it; 00442 00443 { 00444 H_AUTO(L5UCHTimerOverhead); 00445 string callbackName = "USRCB_" + msgin.getName(); 00446 it = timers.find(callbackName); 00447 if(it == timers.end()) 00448 { 00449 it = timers.insert(make_pair(callbackName, CHTimer(NULL))).first; 00450 (*it).second.setName((*it).first.c_str()); 00451 } 00452 } 00453 00454 { 00455 H_AUTO(L5UserCallback); 00456 00457 (*it).second.before(); 00458 (*itcb).second (msgin, uc->ServiceName, sid); 00459 (*it).second.after(); 00460 } 00461 } 00462 00463 uc->TotalCallbackCalled++; 00464 TotalCallbackCalled++; 00465 } 00466 } |
|
Definition at line 284 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_DefaultNetwork, NLNET::CUnifiedNetwork::_IdCnx, NLNET::CUnifiedNetwork::_NetworkAssociations, NLNET::CUnifiedNetwork::_UsedConnection, NLNET::CUnifiedNetwork::addNamedCnx(), allstuffs, AppIdDeadConnection, AUTOCHECK_DISPLAY, NLNET::CUnifiedNetwork::callServiceUpCallback(), NLNET::CUnifiedNetwork::CUnifiedConnection::Connection, NLNET::CCallbackNetBase::disconnect(), NLNET::CUnifiedNetwork::CUnifiedConnection::ExtAddress, from, NLNET::CCallbackNetBase::hostAddress(), NL_I64, nlassert, nlinfo, nlstop, nlwarning, NLMISC::CMemStream::serial(), NLMISC::toString(), TSockId, uint, uint16, uint8, and vectorCInetAddressToString().
00285 { 00286 string inSName; 00287 uint16 inSid; 00288 00289 if (from->appId () != AppIdDeadConnection) 00290 AUTOCHECK_DISPLAY ("HNETL5: received a connec ident from an unknown connection 0x%"NL_I64"X", from->appId ()); 00291 00292 // recover the service name and id 00293 msgin.serial(inSName); 00294 msgin.serial(inSid); 00295 uint8 pos; 00296 msgin.serial (pos); 00297 bool isExternal; 00298 msgin.serial (isExternal); 00299 00300 nlinfo ("HNETL5: + connec ident '%s' %s-%hu pos %hu ext %d", from->asString().c_str(), inSName.c_str(), inSid, (uint16)pos, (uint8)isExternal); 00301 00302 allstuffs += "+rconnect "+inSName+"-"+toString(inSid)+" pos "+toString((uint16)pos)+"\n"; 00303 test.displayNL ("+rconnect %s-%hu pos %hu", inSName.c_str (), (uint16)inSid, (uint16)pos); 00304 00305 if(isExternal) 00306 { 00307 nlassert (pos == 0); 00308 } 00309 00310 if (inSid == 0) 00311 { 00312 if (isExternal) 00313 { 00314 inSid = CUnifiedNetwork::getInstance ()->_ExtSId++; 00315 nlwarning ("HNETL5: Received a connection from a service with a SId 0, we give him the SId %d", inSid); 00316 } 00317 else 00318 { 00319 nlwarning ("HNETL5: Received a connection from a service with a SId 0 and wasn't external, disconnecting it"); 00320 netbase.disconnect(); 00321 return; 00322 } 00323 } 00324 00325 from->setAppId(inSid); 00326 00327 // add a new connection to the list 00328 CUnifiedNetwork *uni= CUnifiedNetwork::getInstance(); 00329 00330 if(inSid >= uni->_IdCnx.size ()) 00331 { 00332 uni->_IdCnx.resize (inSid+1); 00333 } 00334 00335 switch(uni->_IdCnx[inSid].State) 00336 { 00337 case CUnifiedNetwork::CUnifiedConnection::NotUsed: // add the new unified connection 00338 uni->_IdCnx[inSid] = CUnifiedNetwork::CUnifiedConnection(inSName, inSid, isExternal); 00339 uni->_UsedConnection.push_back (inSid); 00340 break; 00341 default: 00342 break; 00343 } 00344 00345 if (uni->_IdCnx[inSid].IsExternal != isExternal) 00346 { 00347 AUTOCHECK_DISPLAY ("HNETL5: Receive a connection that is not totally external %d %d", uni->_IdCnx[inSid].IsExternal, isExternal); 00348 return; 00349 } 00350 00351 bool FirstConnection = (uni->_IdCnx[inSid].Connection.size () == 0); 00352 00353 // add the connection to the already inserted unified connection 00354 if (pos >= uni->_IdCnx[inSid].Connection.size ()) 00355 uni->_IdCnx[inSid].Connection.resize(pos+1); 00356 uni->_IdCnx[inSid].Connection[pos] = CUnifiedNetwork::CUnifiedConnection::TConnection(&netbase, from); 00357 00358 // If the connection is external, we'll never receive the ExtAddress by the naming service, so add it manually 00359 if (isExternal) 00360 { 00361 uni->_IdCnx[inSid].ExtAddress.push_back (netbase.hostAddress (from)); 00362 uni->_IdCnx[inSid].setupNetworkAssociation (uni->_NetworkAssociations, uni->_DefaultNetwork); 00363 } 00364 00365 00366 // todo ace temp to savoir comment c est possible ce cas la 00367 if (uni->_IdCnx[inSid].Connection.size() == 3) 00368 { 00369 CUnifiedNetwork::CUnifiedConnection *uc = &uni->_IdCnx[inSid]; 00370 nlstop; 00371 nlinfo ("HNETL5: ext addr %s", vectorCInetAddressToString (uc->ExtAddress).c_str ()); 00372 for(uint i = 0; i < uc->Connection.size(); i++) 00373 nlinfo ("HNETL5: cnx %s", uc->Connection[i].HostId->asString ().c_str ()); 00374 nlinfo ("HNETL5: %s", allstuffs.c_str ()); 00375 } 00376 00377 // send the callback to the user with the first connection 00378 if (FirstConnection) 00379 { 00380 // insert the name in the map to be able to send message with the name 00381 uni->addNamedCnx (inSName, inSid); 00382 00383 uni->callServiceUpCallback (inSName, inSid); 00384 /* 00385 // now we warn the user 00386 CUnifiedNetwork::TNameMappedCallback::iterator it = uni->_UpCallbacks.find(inSName); 00387 if (it != uni->_UpCallbacks.end()) 00388 { 00389 // call it 00390 for (list<TCallbackArgItem> it2 = (*it).second.begin(); it2 != (*it).second.end(); it2++) 00391 { 00392 TUnifiedNetCallback cb = (*it2).first; 00393 if (cb) cb(inSName, inSid, (*it2).second); 00394 } 00395 } 00396 00397 for (uint c = 0; c < uni->_UpUniCallback.size (); c++) 00398 { 00399 if (uni->_UpUniCallback[c].first != NULL) 00400 uni->_UpUniCallback[c].first (inSName, inSid, uni->_UpUniCallback[c].second); 00401 }*/ 00402 } 00403 } |
|
Definition at line 58 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_DefaultNetwork, NLNET::CUnifiedNetwork::_IdCnx, NLNET::CUnifiedNetwork::_NetworkAssociations, NLNET::CUnifiedNetwork::_SId, NLNET::CUnifiedNetwork::_UsedConnection, addr, allstuffs, AUTOCHECK_DISPLAY, nlassert, nldebug, NLMISC::toString(), TServiceId, uint16, and vectorCInetAddressToString(). Referenced by NLNET::CUnifiedNetwork::init().
00059 { 00060 nldebug ("HNETL5: + naming %s-%hu '%s'", name.c_str(), (uint16)sid, vectorCInetAddressToString(addr).c_str ()); 00061 00062 allstuffs += "+naming "+name+"-"+toString(sid)+"\n"; 00063 test.displayNL ("+naming %s-%hu", name.c_str (), (uint16)sid); 00064 00065 CUnifiedNetwork *uni= CUnifiedNetwork::getInstance(); 00066 00067 if (uni->_SId == sid) 00068 { 00069 allstuffs += "itsme!!!\n"; 00070 test.displayNL ("itsme!!!"); 00071 // it's me! don't add me!!! 00072 return; 00073 } 00074 00075 // add the unified connection 00076 00077 if(sid >= uni->_IdCnx.size ()) 00078 uni->_IdCnx.resize (sid+1); 00079 00080 if (uni->_IdCnx[sid].State == CUnifiedNetwork::CUnifiedConnection::NotUsed) 00081 { 00082 uni->_IdCnx[sid] = CUnifiedNetwork::CUnifiedConnection(name, sid, false); 00083 uni->_UsedConnection.push_back (sid); 00084 } 00085 00086 if (!uni->_IdCnx[sid].ExtAddress.empty ()) AUTOCHECK_DISPLAY ("HNETL5: %s-%hu already inserted in the table with '%s'", name.c_str(), (uint16)sid, vectorCInetAddressToString (uni->_IdCnx[sid].ExtAddress).c_str ()); 00087 00088 00089 // set the list of external addresses 00090 00091 nlassert (!addr.empty()); 00092 00093 uni->_IdCnx[sid].ExtAddress = addr; 00094 00095 // associate nid with ext address 00096 uni->_IdCnx[sid].setupNetworkAssociation (uni->_NetworkAssociations, uni->_DefaultNetwork); 00097 } |
|
Definition at line 100 of file unified_network.cpp. References NLNET::CUnifiedNetwork::_UsedConnection, addr, allstuffs, AppIdDeadConnection, AUTOCHECK_DISPLAY, NLNET::CUnifiedNetwork::callServiceDownCallback(), NLNET::CUnifiedNetwork::CUnifiedConnection::Connection, NLNET::CUnifiedNetwork::getUnifiedConnection(), nldebug, NLNET::CUnifiedNetwork::removeNamedCnx(), NLNET::CUnifiedNetwork::CUnifiedConnection::reset(), NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceId, NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName, NLMISC::toString(), TServiceId, uint, uint16, and vectorCInetAddressToString(). Referenced by NLNET::CUnifiedNetwork::init().
00101 { 00102 nldebug ("HNETL5: - naming %s-%hu '%s'", name.c_str(), (uint16)sid, vectorCInetAddressToString (addr).c_str ()); 00103 00104 allstuffs += "-naming "+name+"-"+toString(sid)+"\n"; 00105 test.displayNL ("-naming %s-%hu", name.c_str (), (uint16)sid); 00106 00107 // get the service connection 00108 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); 00109 00110 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); 00111 if (uc == 0) return; // should never happen, the getUnifiedConnection() will generate a AUTOCHECK_DISPLAY 00112 00113 // call the user callback 00114 00115 uni->callServiceDownCallback(uc->ServiceName, uc->ServiceId); 00116 00117 /* 00118 CUnifiedNetwork::TNameMappedCallback::iterator it2 = uni->_DownCallbacks.find(uc->ServiceName); 00119 00120 if (it2 != uni->_DownCallbacks.end()) 00121 { 00122 // call it 00123 TUnifiedNetCallback cb = (*it2).second.first; 00124 cb(uc->ServiceName, uc->ServiceId, (*it2).second.second); 00125 } 00126 00127 for (uint c = 0; c < uni->_DownUniCallback.size (); c++) 00128 { 00129 if (uni->_DownUniCallback[c].first != NULL) 00130 uni->_DownUniCallback[c].first(uc->ServiceName, uc->ServiceId, uni->_DownUniCallback[c].second); 00131 }*/ 00132 00133 if(!uc->Connection.empty ()) 00134 { 00135 // set all connection to dead, now, all messages received on this socket will be ignored and closed 00136 for (uint i = 0; i < uc->Connection.size (); ++i) 00137 { 00138 if (uc->Connection[i].valid()) 00139 uc->Connection[i].setAppId (AppIdDeadConnection); 00140 } 00141 00142 // 00143 // It's the first connection that added the _NamedCnx so if there s no connection, no need to 00144 // remove entry in _NamedCnx 00145 // 00146 00147 uni->removeNamedCnx (uc->ServiceName, uc->ServiceId); 00148 } 00149 00150 // remove the _UsedConnection 00151 bool found = false; 00152 for (vector<uint16>::iterator it = uni->_UsedConnection.begin (); it != uni->_UsedConnection.end(); it++) 00153 { 00154 if (*it == uc->ServiceId) 00155 { 00156 found = true; 00157 uni->_UsedConnection.erase (it); 00158 break; 00159 } 00160 } 00161 if (!found) AUTOCHECK_DISPLAY ("HNETL5: can't find the sid %hu in the _UsedConnection", uc->ServiceId); 00162 00163 // reset the unified connection 00164 uc->reset (); 00165 } |
|
Definition at line 164 of file net_manager.cpp. References addr, nldebug, TServiceId, and uint16. Referenced by NLNET::CNetManager::init().
|
|
Definition at line 648 of file admin.cpp. References NLMISC::CLog::addDisplayer(), AlarmCheckDelay, Alarms, cleanRequest(), NLMISC::CMemDisplayer::clear(), GraphUpdates, NLMISC::humanReadableToBytes(), NLMISC::CMemDisplayer::lockStrings(), nlinfo, nlwarning, sendAdminEmail(), NLMISC::CMemStream::serial(), sint32, size, uint, uint32, and NLMISC::CMemDisplayer::unlockStrings(). Referenced by NLNET::IService::main().
00649 { 00650 string str; 00651 CLog logDisplayVars; 00652 CLightMemDisplayer mdDisplayVars; 00653 logDisplayVars.addDisplayer (&mdDisplayVars); 00654 00655 uint32 CurrentTime = CTime::getSecondsSince1970(); 00656 00657 00658 // 00659 // check admin requests 00660 // 00661 00662 cleanRequest (); 00663 00664 00665 // 00666 // Check graph updates 00667 // 00668 00669 static uint32 lastGraphUpdateCheck = 0; 00670 00671 if (CurrentTime >= lastGraphUpdateCheck+1) 00672 { 00673 lastGraphUpdateCheck = CurrentTime; 00674 00675 CMessage msgout ("GRAPH_UPDATE"); 00676 bool empty = true; 00677 for (uint j = 0; j < GraphUpdates.size(); j++) 00678 { 00679 if (CurrentTime >= GraphUpdates[j].LastUpdate + GraphUpdates[j].Update) 00680 { 00681 // have to send a new update for this var 00682 ICommand::execute(GraphUpdates[j].Name, logDisplayVars, true, false); 00683 const std::deque<std::string> &strs = mdDisplayVars.lockStrings(); 00684 sint32 val; 00685 if (strs.size() != 1) 00686 { 00687 nlwarning ("ADMIN: The graph update command execution not return exactly 1 line but %d", strs.size()); 00688 for (uint i = 0; i < strs.size(); i++) 00689 nlwarning ("ADMIN: line %d: '%s'", i, strs[i].c_str()); 00690 val = 0; 00691 } 00692 else 00693 { 00694 val = atoi(strs[0].c_str()); 00695 } 00696 mdDisplayVars.unlockStrings (); 00697 mdDisplayVars.clear (); 00698 00699 string name = IService::getInstance()->getServiceAliasName(); 00700 if (name.empty()) 00701 name = IService::getInstance()->getServiceShortName(); 00702 00703 if(empty) 00704 msgout.serial (CurrentTime); 00705 00706 msgout.serial (name); 00707 msgout.serial (GraphUpdates[j].Name); 00708 msgout.serial (val); 00709 00710 empty = false; 00711 00712 GraphUpdates[j].LastUpdate = CurrentTime; 00713 } 00714 } 00715 00716 if(!empty) 00717 { 00718 if(IService::getInstance ()->getServiceShortName()=="AES") 00719 CUnifiedNetwork::getInstance ()->send ("AS", msgout); 00720 else 00721 CUnifiedNetwork::getInstance ()->send ("AES", msgout); 00722 } 00723 } 00724 00725 00726 // 00727 // Check alarms 00728 // 00729 00730 static uint32 lastAlarmsCheck = 0; 00731 00732 if (CurrentTime >= lastAlarmsCheck+AlarmCheckDelay) 00733 { 00734 lastAlarmsCheck = CTime::getSecondsSince1970(); 00735 00736 for (uint i = 0; i < Alarms.size(); ) 00737 { 00738 mdDisplayVars.clear (); 00739 ICommand::execute(Alarms[i].Name, logDisplayVars, true, false); 00740 const std::deque<std::string> &strs = mdDisplayVars.lockStrings(); 00741 00742 if (strs.size()>0) 00743 { 00744 str = strs[0].substr(0,strs[0].size()-1); 00745 } 00746 else 00747 { 00748 str = "???"; 00749 } 00750 00751 mdDisplayVars.unlockStrings(); 00752 00753 if (str == "???") 00754 { 00755 // variable doesn't exist, remove it from alarms 00756 nlwarning ("ADMIN: Alarm problem: variable '%s' returns ??? instead of a good value", Alarms[i].Name.c_str()); 00757 Alarms.erase (Alarms.begin()+i); 00758 } 00759 else 00760 { 00761 // compare the value 00762 uint32 err = Alarms[i].Limit; 00763 uint32 val = humanReadableToBytes(str); 00764 if (Alarms[i].GT && val >= err) 00765 { 00766 if (!Alarms[i].Activated) 00767 { 00768 nlinfo ("ADMIN: VARIABLE TOO BIG '%s' %u >= %u", Alarms[i].Name.c_str(), val, err); 00769 Alarms[i].Activated = true; 00770 sendAdminEmail ("Alarm: Variable %s is %u that is greater or equal than the limit %u", Alarms[i].Name.c_str(), val, err); 00771 } 00772 } 00773 else if (!Alarms[i].GT && val <= err) 00774 { 00775 if (!Alarms[i].Activated) 00776 { 00777 nlinfo ("ADMIN: VARIABLE TOO LOW '%s' %u <= %u", Alarms[i].Name.c_str(), val, err); 00778 Alarms[i].Activated = true; 00779 sendAdminEmail ("Alarm: Variable %s is %u that is lower or equal than the limit %u", Alarms[i].Name.c_str(), val, err); 00780 } 00781 } 00782 else 00783 { 00784 if (Alarms[i].Activated) 00785 { 00786 nlinfo ("ADMIN: variable is ok '%s' %u %s %u", Alarms[i].Name.c_str(), val, (Alarms[i].GT?"<":">"), err); 00787 Alarms[i].Activated = false; 00788 } 00789 } 00790 00791 i++; 00792 } 00793 } 00794 } 00795 } |
|
|
|
Definition at line 155 of file service.cpp. References MyTAT, CTimeoutAssertionThread::timeout(), and NLMISC::IVariable::toString().
|
|
Definition at line 350 of file buf_client.cpp. References uint64. Referenced by NLNET::CBufClient::newBytesDownloaded(), and NLNET::CBufClient::newBytesUploaded().
00351 { 00352 uint64 result = newvalue - counter; 00353 counter = newvalue; 00354 return result; 00355 } |
|
Referenced by NLNET::IService::main(). |
|
Definition at line 61 of file email.cpp. Referenced by sendEmail().
00062 { 00063 int i; 00064 unsigned char *p = (unsigned char *)store; 00065 unsigned char *us = (unsigned char *)s; 00066 00067 /* Transform the 3x8 bits to 4x6 bits, as required by base64. */ 00068 for (i = 0; i < length; i += 3) { 00069 *p++ = tbl[us[0] >> 2]; 00070 *p++ = tbl[((us[0] & 3) << 4) + (us[1] >> 4)]; 00071 *p++ = tbl[((us[1] & 0xf) << 2) + (us[2] >> 6)]; 00072 *p++ = tbl[us[2] & 0x3f]; 00073 us += 3; 00074 } 00075 /* Pad the result if necessary... */ 00076 if (i == length + 1) { 00077 *(p - 1) = tbl[64]; 00078 } 00079 else if (i == length + 2) { 00080 *(p - 1) = *(p - 2) = tbl[64]; 00081 } 00082 /* ...and zero-terminate it. */ 00083 *p = '\0'; 00084 } |
|
Definition at line 509 of file inet_address.cpp. References uint. Referenced by NLNET::CUnifiedNetwork::addService(), cbRegisterBroadcast(), uncbServiceIdentification(), uNetRegistrationBroadcast(), and uNetUnregistrationBroadcast().
00510 { 00511 string str; 00512 00513 for (uint i = 0; i < addrs.size(); i++) 00514 { 00515 if (i != 0) 00516 str += " "; 00517 str += addrs[i].asString().c_str (); 00518 } 00519 return str; 00520 } |
|
Definition at line 55 of file naming_client.cpp. Referenced by cbRegisterBroadcast(), and NLNET::CNamingClient::setRegistrationBroadcastCallback(). |
|
Definition at line 56 of file naming_client.cpp. Referenced by cbUnregisterBroadcast(), and NLNET::CNamingClient::setUnregistrationBroadcastCallback(). |
|
Definition at line 56 of file login_server.cpp. Referenced by cbShardValidation(), and cfcbAcceptInvalidCookie(). |
|
Definition at line 89 of file admin.cpp. Referenced by updateAdmin(). |
|
Definition at line 84 of file admin.cpp. Referenced by NLMISC_COMMAND(), setInformations(), and updateAdmin(). |
|
Definition at line 51 of file unified_network.cpp. Referenced by NLNET::CUnifiedNetwork::addNamedCnx(), NLNET::CUnifiedNetwork::addService(), NLNET::CUnifiedNetwork::removeNamedCnx(), uncbDisconnection(), uncbServiceIdentification(), uNetRegistrationBroadcast(), and uNetUnregistrationBroadcast(). |
|
Definition at line 42 of file unified_network.cpp. Referenced by uncbConnection(), uncbDisconnection(), uncbMsgProcessing(), uncbServiceIdentification(), and uNetUnregistrationBroadcast(). |
|
Definition at line 236 of file udp_sim_sock.cpp. |
|
Definition at line 93 of file udp_sim_sock.cpp. Referenced by NLNET::CUdpSimSock::dataAvailable(), and NLNET::CUdpSimSock::receive(). |
|
Definition at line 92 of file udp_sim_sock.cpp. Referenced by NLNET::CUdpSimSock::sendUDP(), and NLNET::CUdpSimSock::updateBufferizedPackets(). |
|
Initial value: { { "R_SH_ID", cbReceiveShardId }, } Definition at line 266 of file service.cpp. Referenced by NLNET::IService::main(). |
|
Initial value: { { "INFO", cbInfo }, { "GET_VIEW", cbServGetView }, { "STOPS", cbStopService }, { "EXEC_COMMAND", cbExecCommand }, { "ADMIN_PING", cbAdminPing }, } Definition at line 316 of file transport_class.cpp. Referenced by NLNET::CTransportClass::init(). |
|
Initial value: { { "AA", cbnbMessageAskAssociations }, { "RA", cbnbMessageRecvAssociations }, } Definition at line 117 of file callback_net_base.cpp. Referenced by NLNET::CCallbackNetBase::CCallbackNetBase(). |
|
Initial value: { { "SV", cbShardValidation }, } Definition at line 239 of file login_server.cpp. Referenced by NLNET::CLoginServer::init(). |
|
Initial value:
{
{ "RAA", cbcMessageRecvAllAssociations },
}
Definition at line 50 of file callback_client.cpp. Referenced by NLNET::CCallbackClient::CCallbackClient(). |
|
|
|
Definition at line 132 of file service.cpp. Referenced by NLNET::IService::main(). |
|
Definition at line 146 of file service.cpp. Referenced by NLMISC_COMMAND(). |
|
Definition at line 40 of file email.cpp. Referenced by sendEmail(), and setDefaultEmailParams(). |
|
Definition at line 40 of file email.cpp. Referenced by sendEmail(), and setDefaultEmailParams(). |
|
Definition at line 40 of file email.cpp. Referenced by sendEmail(), and setDefaultEmailParams(). |
|
Definition at line 58 of file login_server.cpp. Referenced by cfcbDefaultUserPriv(). |
|
Definition at line 60 of file login_server.cpp. Referenced by cbWSDisconnectClient(), and NLNET::CLoginServer::init(). |
|
Definition at line 112 of file service.cpp. |
|
Definition at line 117 of file service.cpp. Referenced by NLNET::IService::exit(), NLNET::IService::main(), NLMISC_COMMAND(), NLMISC_DYNVARIABLE(), and sigHandler(). |
|
Definition at line 38 of file unified_network.cpp. Referenced by NLNET::CUnifiedNetwork::init(). |
|
Initial value: { { "SV", cbShardValidate }, } Definition at line 58 of file login_client.cpp. Referenced by NLNET::CLoginClient::connectToShard(). |
|
Definition at line 293 of file unitime.cpp. Referenced by cbClientGetUniversalTime(). |
|
Definition at line 294 of file unitime.cpp. Referenced by cbClientGetUniversalTime(). |
|
Definition at line 134 of file unitime.cpp. Referenced by cbGetUniversalTime(). |
|
Definition at line 135 of file unitime.cpp. Referenced by cbGetUniversalTime(). |
|
Definition at line 136 of file unitime.cpp. Referenced by cbGetUniversalTime(). |
|
Definition at line 86 of file admin.cpp. Referenced by NLMISC_COMMAND(), setInformations(), and updateAdmin(). |
|
Definition at line 44 of file buf_net_base.h. |
|
Definition at line 133 of file service.cpp. Referenced by NLNET::IService::main(), and NLMISC_DYNVARIABLE(). |
|
Definition at line 54 of file login_server.cpp. Referenced by cbWSChooseShard(), NLMISC_DYNVARIABLE(), and setListenAddress(). |
|
Definition at line 41 of file message.cpp. Referenced by NLNET::CMessage::clear(), NLNET::CMessage::invert(), and NLNET::CMessage::operator=(). |
|
Definition at line 42 of file net_displayer.cpp. |
|
Definition at line 63 of file login_server.cpp. Referenced by cbShardValidation(), cbWSDisconnectClient(), NLNET::CLoginServer::clientDisconnected(), NLNET::CLoginServer::init(), NLMISC_COMMAND(), and setListenAddress(). |
|
Definition at line 154 of file service.cpp. Referenced by NLNET::IService::main(), and UpdateAssertionThreadTimeoutCB(). |
|
Initial value: { { "RG", cbRegister }, { "QP", cbQueryPort }, { "RGB", cbRegisterBroadcast }, { "UNB", cbUnregisterBroadcast } } Definition at line 230 of file naming_client.cpp. Referenced by NLNET::CNamingClient::connect(). |
|
Definition at line 47 of file buf_client.cpp. Referenced by NLNET::CClientReceiveTask::run(). |
|
Definition at line 36 of file buf_net_base.cpp. Referenced by NLNET::CServerReceiveTask::run(), NLNET::CListenTask::run(), and NLNET::CClientReceiveTask::run(). |
|
Definition at line 48 of file buf_server.cpp. Referenced by NLNET::CListenTask::run(). |
|
Definition at line 49 of file buf_server.cpp. Referenced by NLNET::CServerReceiveTask::run(). |
|
Definition at line 135 of file service.cpp. Referenced by NLNET::IService::main(). |
|
Initial value: { "NegFiltersDebug", "NegFiltersInfo", "NegFiltersWarning", "NegFiltersAssert", "NegFiltersError", 0 } Definition at line 97 of file service.cpp. Referenced by NLNET::IService::main(). |
|
Definition at line 56 of file net_log.cpp. |
|
Definition at line 71 of file login_server.cpp. Referenced by cbShardValidation(), and NLNET::CLoginServer::init(). |
|
Initial value:
{
{ "PACS_ASW", cbPacsAnswer }
}
Definition at line 572 of file pacs_client.h. Referenced by NLNET::CPacsClient::connect(). |
|
Definition at line 51 of file login_server.cpp. Referenced by cbWSChooseShard(), NLMISC_COMMAND(), and refreshPendingList(). |
|
Definition at line 106 of file naming_client.cpp. Referenced by cbQueryPort(), and NLNET::CNamingClient::queryServicePort(). |
|
Definition at line 107 of file naming_client.cpp. Referenced by cbQueryPort(), and NLNET::CNamingClient::queryServicePort(). |
|
Definition at line 83 of file naming_client.cpp. Referenced by cbRegister(), and NLNET::CNamingClient::registerService(). |
|
Definition at line 80 of file naming_client.cpp. Referenced by cbRegister(), NLNET::CNamingClient::registerService(), and NLNET::CNamingClient::registerServiceWithSId(). |
|
Definition at line 82 of file naming_client.cpp. Referenced by cbRegister(), NLNET::CNamingClient::registerService(), and NLNET::CNamingClient::registerServiceWithSId(). |
|
Definition at line 81 of file naming_client.cpp. Referenced by cbRegister(), NLNET::CNamingClient::registerService(), and NLNET::CNamingClient::registerServiceWithSId(). |
|
Definition at line 82 of file admin.cpp. Referenced by serviceGetView(), and setRemoteClientCallback(). |
|
Definition at line 91 of file admin.cpp. Referenced by addRequestAnswer(), addRequestWaitingNb(), cbServGetView(), cleanRequest(), emptyRequest(), and subRequestWaitingNb(). |
|
Definition at line 93 of file admin.cpp. Referenced by cleanRequest(). |
|
Definition at line 53 of file login_server.cpp. Referenced by cbShardValidation(), cbWSDisconnectClient(), ClientConnection(), NLNET::CLoginServer::init(), NLMISC_DYNVARIABLE(), and setListenAddress(). |
|
Initial value:
{
{ "AUT", cbServerAskUniversalTime },
}
Definition at line 275 of file unitime.cpp. Referenced by NLNET::_CUniTime::installServer(). |
|
Definition at line 46 of file login_client.cpp. Referenced by cbShardValidate(), and NLNET::CLoginClient::connectToShard(). |
|
Definition at line 47 of file login_client.cpp. Referenced by cbShardValidate(), and NLNET::CLoginClient::connectToShard(). |
|
Initial value: { SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM } Definition at line 88 of file service.cpp. |
|
Definition at line 126 of file service.cpp. Referenced by initSignal(), and sigHandler(). |
|
Initial value: { "SIGABRT", "SIGFPE", "SIGILL", "SIGINT", "SIGSEGV", "SIGTERM" } Definition at line 92 of file service.cpp. Referenced by sigHandler(). |
|
Initial value: { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '=' } Definition at line 43 of file email.cpp. Referenced by uuencode(). |
|
|
|
|
Definition at line 66 of file login_server.cpp. Referenced by cfcbTimeBeforeEraseCookie(), and refreshPendingList(). |
|
Definition at line 44 of file unified_network.cpp. Referenced by uncbMsgProcessing(). |
|
Initial value: { { "UN_SIDENT", uncbServiceIdentification } } Definition at line 469 of file unified_network.cpp. Referenced by NLNET::CUnifiedNetwork::init(). |
|
contains the correspondance between userid and the sockid
Definition at line 69 of file login_server.cpp. Referenced by cbShardValidation(), cbWSDisconnectClient(), NLNET::CLoginServer::clientDisconnected(), and NLMISC_COMMAND(). |
|
Initial value: { { "CS", cbWSChooseShard }, { "DC", cbWSDisconnectClient }, } Definition at line 169 of file login_server.cpp. Referenced by NLNET::CLoginServer::connectToWS(). |