+ case eSendFile:
+ if (IO->IOB.ChunkSendRemain > 0) {
+ ev_io_start(event_base, &IO->recv_event);
+ } else {
+ assert(IO->ReadDone);
+ IO->NextState = IO->ReadDone(IO);
+ switch(IO->NextState) {
+ case eSendDNSQuery:
+ case eReadDNSReply:
+ case eDBQuery:
+ case eConnect:
+ break;
+ case eSendReply:
+ case eSendMore:
+ case eSendFile:
+ ev_io_start(event_base, &IO->send_event);
+ break;
+ case eReadMessage:
+ case eReadMore:
+ case eReadPayload:
+ case eReadFile:
+ break;
+ case eTerminateConnection:
+ case eAbort:
+ break;
+ }
+ }
+ break;