Esempio n. 1
0
bool FUdpMessageProcessor::EnqueueOutboundMessage( const FUdpSerializedMessageRef& SerializedMessage, const FGuid& Recipient )
{
	if (!OutboundMessages.Enqueue(FOutboundMessage(SerializedMessage, Recipient)))
	{
		return false;
	}

	SerializedMessage->OnStateChanged().BindRaw(this, &FUdpMessageProcessor::HandleSerializedMessageStateChanged);

	if (SerializedMessage->GetState() != EUdpSerializedMessageState::Incomplete)
	{
		WorkEvent->Trigger();
	}

	return true;
}
bool FUdpMessageProcessor::EnqueueOutboundMessage( const IMessageDataRef& Data, const FGuid& Recipient )
{
	if (!OutboundMessages.Enqueue(FOutboundMessage(Data, Recipient)))
	{
		return false;
	}

	Data->OnStateChanged().BindRaw(this, &FUdpMessageProcessor::HandleMessageDataStateChanged);

	if (Data->GetState() != EMessageDataState::Incomplete)
	{
		WorkEvent->Trigger();
	}

	return true;
}