Ejemplo n.º 1
0
bool FTCPTransport::SendPayloadAndReceiveResponse(TArray<uint8>& In, TArray<uint8>& Out)
{
    bool SendResult = false;

#if USE_MCSOCKET_FOR_NFS
    SendResult = FNFSMessageHeader::WrapAndSendPayload(In, FSimpleAbstractSocket_FMultichannelTCPSocket(MCSocket, NFS_Channels::Main));
#else
    SendResult = FNFSMessageHeader::WrapAndSendPayload(In, FSimpleAbstractSocket_FSocket(FileSocket));
#endif

    if (!SendResult)
        return false;

    FArrayReader Response;
    bool RetResult = false;
#if USE_MCSOCKET_FOR_NFS
    RetResult = FNFSMessageHeader::ReceivePayload(Response, FSimpleAbstractSocket_FMultichannelTCPSocket(MCSocket, NFS_Channels::Main));
#else
    RetResult = FNFSMessageHeader::ReceivePayload(Response, FSimpleAbstractSocket_FSocket(FileSocket));
#endif

    if (RetResult)
    {
        Out.Append( Response.GetData(), Response.Num());
        return true;
    }

    return false;
}
	virtual bool SendPayload( TArray<uint8> &Out ) override
	{
#if USE_MCSOCKET_FOR_NFS
		return FNFSMessageHeader::WrapAndSendPayload(Out, FSimpleAbstractSocket_FMultichannelTCPSocket(MCSocket, NFS_Channels::Main));
#else
		return FNFSMessageHeader::WrapAndSendPayload(Out, FSimpleAbstractSocket_FSocket(Socket));
#endif
	}