int SocketError(NetSocket socket) { if (useSingleSendDataTaskProcesser) { sendTaskProcesser.PostTask(PasueSendTask, null, this, TaskMsg.TMSG_PAUSE); socket.dePacketor.UnPack(SocketEvent.EV_SOCKET_OFFLINE, socket); socketErrorWaitSem.WaitOne(); socketErrorWaitSem.Reset(); RemoveSocket(socket.GetID()); sendTaskProcesser.Continue(); } else { socket.dePacketor.UnPack(SocketEvent.EV_SOCKET_OFFLINE, socket); RemoveSocket(socket.GetID()); } return(0); }
int _PostTaskData(TaskCallBack processDataCallBack, TaskCallBack releaseDataCallBack, object taskData, int delay = 0) { return(taskProcesser.PostTask(processDataCallBack, releaseDataCallBack, taskData, TaskMsg.TMSG_DATA, delay)); }