public void PushMessagesToSend(MessagesToSend messages, NetFrameStats frameStats)
        {
            serializedMessagesToSend.SerializeFrom(messages, commandMetaData);
            serializedMessagesToSend.SendAndClear(connection, commandMetaData, frameStats);

            serializedMessagesToSend.Clear();
            messages.Clear();
        }
Пример #2
0
        public void PushMessagesToSend(MessagesToSend messages)
        {
            serializedMessagesToSend.SerializeFrom(messages, commandMetaDataManager.GetEmptyMetaDataStorage());
            var metaData = serializedMessagesToSend.SendAndClear(connection);

            commandMetaDataManager.AddMetaData(metaData);
            serializedMessagesToSend.Clear();
            messages.Clear();
        }
Пример #3
0
        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();
        }
Пример #4
0
        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);
            }
        }