#define NODE ChrPtr(((AsyncNetworker*)IO->Data)->node)
#define N ((AsyncNetworker*)IO->Data)->n
+int NetworkClientDebugEnabled = 0;
+
+#define DBGLOG(LEVEL) if ((LEVEL != LOG_DEBUG) || (NetworkClientDebugEnabled != 0))
+
#define EVN_syslog(LEVEL, FORMAT, ...) \
- syslog(LEVEL, \
+ DBGLOG(LEVEL) syslog(LEVEL, \
"IO[%ld]CC[%d]NW[%s][%ld]" FORMAT, \
IO->ID, CCID, NODE, N, __VA_ARGS__)
#define EVNM_syslog(LEVEL, FORMAT) \
- syslog(LEVEL, \
+ DBGLOG(LEVEL) syslog(LEVEL, \
"IO[%ld]CC[%d]NW[%s][%ld]" FORMAT, \
IO->ID, CCID, NODE, N)
#define EVNCS_syslog(LEVEL, FORMAT, ...) \
- syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \
+ DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \
IO->ID, NODE, N, __VA_ARGS__)
#define EVNCSM_syslog(LEVEL, FORMAT) \
- syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \
+ DBGLOG(LEVEL) syslog(LEVEL, "IO[%ld]NW[%s][%ld]" FORMAT, \
IO->ID, NODE, N)
FreeStrBuf(&NW->port);
FreeStrBuf(&NW->secret);
FreeStrBuf(&NW->Url);
+ FreeStrBuf(&NW->IO.ErrMsg);
FreeAsyncIOContents(&NW->IO);
+ if (NW->HostLookup.VParsedDNSReply != NULL) {
+ NW->HostLookup.DNSReplyFree(NW->HostLookup.VParsedDNSReply);
+ NW->HostLookup.VParsedDNSReply = NULL;
+ }
free(NW);
}
return eAbort;
}
+eNextState NWC_TerminateDB(AsyncIO *IO)
+{
+ EVN_syslog(LOG_DEBUG, "%s\n", __FUNCTION__);
+ FinalizeNetworker(IO);
+ return eAbort;
+}
+
eNextState NWC_Timeout(AsyncIO *IO)
{
AsyncNetworker *NW = IO->Data;
NWC_DispatchWriteDone,
NWC_DispatchReadDone,
NWC_Terminate,
+ NWC_TerminateDB,
NWC_ConnFail,
NWC_Timeout,
NWC_Shutdown);
free(working_ignetcfg);
}
-
-
+void LogDebugEnableNetworkClient(const int n)
+{
+ NetworkClientDebugEnabled = n;
+}
/*
* Module entry point
*/
CtdlFillSystemContext(&networker_client_CC, "CitNetworker");
CtdlRegisterSessionHook(network_do_clientqueue, EVT_TIMER);
+ CtdlRegisterDebugFlagHook(HKEY("networkclient"), LogDebugEnableNetworkClient, &NetworkClientDebugEnabled);
+
}
- return "network_client";
+ return "networkclient";
}