Exemple #1
0
long sockRecvData(void *pData, int Size) {
	int ret;

	ret = _recvPacket(pData);
	if (ret > 0) return ret;

	PacketInitPacket(lpRecvPacket, buffer, BUFFER_SIZE);
	if(PacketReceivePacket(lpAdapter,lpRecvPacket,TRUE)==FALSE){
		printf("Error: PacketReceivePacket failed");
		return (-1);
	}
	lbytes = lpRecvPacket->ulBytesReceived;
	tbytes+= lbytes;
//	DEV9_LOG("PacketReceivePacket %d:\n", lbytes);
	if (lbytes == 0) return 0;
	memcpy(buffer, lpRecvPacket->Buffer, lbytes);
	buf = buffer;
	PacketFreePacket(lpRecvPacket);

	return _recvPacket(pData);
}
Exemple #2
0
void *FricXactor::Receive(void *args)
{
  for(;;)
    {
      boost::shared_ptr<FricData> recvData(new FricData("FricRecieve"));

      _recvPacket(recvData->ptype, recvData->port, recvData->addr, recvData->data);
      
      outChan.put(recvData);
      ExecuteCallbacks(RecieveCB, recvData.get());
    }

  return 0;
}