eNextState POP3C_ReadMessageBody(pop3aggr *RecvMsg) { AsyncIO *IO = &RecvMsg->IO; EVP3CM_syslog(LOG_DEBUG, "Converting message..."); RecvMsg->CurrMsg->Msg = convert_internet_message_buf(&RecvMsg->IO.ReadMsg->MsgBuf); return EventQueueDBOperation(&RecvMsg->IO, POP3C_SaveMsg, 0); }
eNextState POP3C_GetOneMessagID(pop3aggr *RecvMsg) { AsyncIO *IO = &RecvMsg->IO; long HKLen; const char *HKey; void *vData; SetPOP3State(IO, eGetMsgID); #if 0 int rc; rc = TestValidateHash(RecvMsg->MsgNumbers); if (rc != 0) EVP3CCS_syslog(LOG_DEBUG, "Hash Invalid: %d\n", rc); #endif if((RecvMsg->Pos != NULL) && GetNextHashPos(RecvMsg->MsgNumbers, RecvMsg->Pos, &HKLen, &HKey, &vData)) { RecvMsg->CurrMsg = (FetchItem*) vData; /* Find out the UIDL of the message, * to determine whether we've already downloaded it */ StrBufPrintf(RecvMsg->IO.SendBuf.Buf, "UIDL %ld\r\n", RecvMsg->CurrMsg->MSGID); POP3C_DBG_SEND(); } else { RecvMsg->State++; DeleteHashPos(&RecvMsg->Pos); /// done receiving uidls.. start looking them up now. RecvMsg->Pos = GetNewHashPos(RecvMsg->MsgNumbers, 0); return EventQueueDBOperation(&RecvMsg->IO, POP3_FetchNetworkUsetableEntry, 0); } return eReadMore; /* TODO */ }
eNextState FinalizeMessageSend(SmtpOutMsg *Msg) { /* hand over to DB Queue */ return EventQueueDBOperation(&Msg->IO, FinalizeMessageSend_DB, 0); }