Skip to content

Instantly share code, notes, and snippets.

@jkoenen
Created November 30, 2017 11:18
Show Gist options
  • Save jkoenen/9b7d396034710d4b0b44cf5eeceef497 to your computer and use it in GitHub Desktop.
Save jkoenen/9b7d396034710d4b0b44cf5eeceef497 to your computer and use it in GitHub Desktop.
const Result< size_t > sendResult = sendData( pNetworkCommand->data.write.pSocket->socketState.socketHandle, pNetworkCommand->data.write.source.pStart + pNetworkCommand->data.write.bytesWritten, toSend );
if( sendResult.error == ErrorId_Ok )
{
#if KEEN_USING( KEEN_NETWORK_SYSTEM_DEBUG )
pNetworkSystem->debugData.sentBytes += sendResult.value;
#endif
pNetworkCommand->data.write.bytesWritten += sendResult.value;
if( pNetworkCommand->data.write.bytesWritten == pNetworkCommand->data.write.source.size )
{
finishSocketCommand( pNetworkSocket, pNetworkSocket->writeCommands.popFront(), ErrorId_Ok );
}
}
else if( ( sendResult.error == ErrorId_NoConnection ) || ( sendResult.error == ErrorId_ConnectionClosed ) )
{
//KEEN_TRACE_ERROR( "[network] write error %s (%k)\n", sendResult.getErrorString(), fsArg( pNetworkCommand ) );
pNetworkCommand->data.read.pSocket->socketState.error = sendResult.error;
finishSocketCommand( pNetworkSocket, pNetworkSocket->writeCommands.popFront(), sendResult.error );
}
else
{
//KEEN_TRACE_ERROR( "[network] write error %s (%k)\n", sendResult.getErrorString(), fsArg( pNetworkCommand ) );
finishSocketCommand( pNetworkSocket, pNetworkSocket->writeCommands.popFront(), sendResult.error );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment