Accidentally merged the configdb branch into master. Reverting.
[citadel.git] / citadel / modules / networkclient / serv_networkclient.c
index 72f48367ca7869a21f2a7239802e689fb4667a7a..34ea669e5d6e8edf357f816fffad9dc65e57e621 100644 (file)
@@ -200,6 +200,8 @@ eNextState NWC_SendFailureMessage(AsyncIO *IO)
        long lens[2];
        const char *strs[2];
 
+       EVN_syslog(LOG_DEBUG, "NWC: %s\n", __FUNCTION__);
+
        strs[0] = ChrPtr(NW->node);
        lens[0] = StrLength(NW->node);
        
@@ -209,8 +211,8 @@ eNextState NWC_SendFailureMessage(AsyncIO *IO)
                ChrPtr(NW->IO.ErrMsg),
                "Networker error",
                2, strs, (long*) &lens,
-               IO->Now,
-               IO->ID, CCID);
+               CCID, IO->ID,
+               EvGetNow(IO));
        
        return eAbort;
 }
@@ -286,8 +288,7 @@ eNextState NWC_ReadAuthReply(AsyncNetworker *NW)
                else {
                        SetNWCState(IO, eNWCVSAuthFailNTT);
                        EVN_syslog(LOG_ERR, "%s\n", ChrPtr(NW->IO.ErrMsg));
-                       StopClientWatchers(IO, 1);
-                       return QueueDBOperation(IO, NWC_SendFailureMessage);
+                       return EventQueueDBOperation(IO, NWC_SendFailureMessage, 1);
                }
                return eAbort;
        }
@@ -844,16 +845,14 @@ eReadState NWC_ReadServerStatus(AsyncIO *IO)
 eNextState NWC_FailNetworkConnection(AsyncIO *IO)
 {
        SetNWCState(IO, eNWCVSConnFail);
-       StopClientWatchers(IO, 1);
-       return QueueDBOperation(IO, NWC_SendFailureMessage);
+       return EventQueueDBOperation(IO, NWC_SendFailureMessage, 1);
 }
 
 void NWC_SetTimeout(eNextState NextTCPState, AsyncNetworker *NW)
 {
-       AsyncIO *IO = &NW->IO;
        double Timeout = 0.0;
 
-       EVN_syslog(LOG_DEBUG, "%s - %d\n", __FUNCTION__, NextTCPState);
+       //EVN_syslog(LOG_DEBUG, "%s - %d\n", __FUNCTION__, NextTCPState);
 
        switch (NextTCPState) {
        case eSendMore:
@@ -876,6 +875,7 @@ void NWC_SetTimeout(eNextState NextTCPState, AsyncNetworker *NW)
                return;
        }
        if (Timeout > 0) {
+               AsyncIO *IO = &NW->IO;
                EVN_syslog(LOG_DEBUG, 
                           "%s - %d %f\n",
                           __FUNCTION__,
@@ -894,8 +894,11 @@ eNextState NWC_DispatchReadDone(AsyncIO *IO)
 
        rc = NWC_ReadHandlers[NW->State](NW);
 
-       if (rc != eReadMore)
+       if ((rc != eReadMore) &&
+           (rc != eAbort) && 
+           (rc != eDBQuery)) {
                NW->State++;
+       }
 
        NWC_SetTimeout(rc, NW);