public void PushMessagesToSend(MessagesToSend messages, NetFrameStats frameStats) { serializedMessagesToSend.SerializeFrom(messages, commandMetaData); serializedMessagesToSend.SendAndClear(connection, commandMetaData, frameStats); serializedMessagesToSend.Clear(); messages.Clear(); }
public void PushMessagesToSend(MessagesToSend messages) { serializedMessagesToSend.SerializeFrom(messages, commandMetaDataManager.GetEmptyMetaDataStorage()); var metaData = serializedMessagesToSend.SendAndClear(connection); commandMetaDataManager.AddMetaData(metaData); serializedMessagesToSend.Clear(); messages.Clear(); }
public void PushMessagesToSend(MessagesToSend messages, NetFrameStats netFrameStats) { if (!EnableSerialization) { return; } serializedMessagesToSend.SerializeFrom(messages, commandMetaData); // Unable to actually send anything over a Connection, so just tidy up after serialization. serializedMessagesToSend.Clear(); messages.Clear(); }
public void PushMessagesToSend(MessagesToSend messages, NetFrameStats frameStats) { using (serializeFromMarker.Auto()) { serializedMessagesToSend.SerializeFrom(messages, commandMetaData); } using (sendClearMarker.Auto()) { serializedMessagesToSend.SendAndClear(connection, commandMetaData, frameStats); } using (clearMarker.Auto()) { messages.Clear(); } }
private void SerializeMessages() { // Block until a new message is available to serialize. while (messagesToSerialize.TryTake(out var messagesToSend, -1)) { // If adding is complete then there is no reason to deserialize the message. if (messagesToSerialize.IsAddingCompleted) { return; } SerializedMessagesToSend serialized = serializedMessagesToSendPool.Rent(); CommandMetaData metaData = commandMetaDataManager.GetEmptyMetaDataStorage(); // Serialize the messages and add them to the queue to be sent serialized.SerializeFrom(messagesToSend, metaData); messagesToSend.Clear(); messagesToSendPool.Return(messagesToSend); serializedMessages.Enqueue(serialized); } }