Beispiel #1
0
        public void SendMessage(IMessage message, ISocket sender, EndPoint receiver)
        {
            // TODO:  Possibly use the message interface to get the size needed for this
            BMSByte buffer = _bufferPool.Get(128);

            ForgeSerializer.Instance.Serialize(GetMessageCode(message), buffer);
            if (message.Receipt != null)
            {
                ForgeSerializer.Instance.Serialize(message.Receipt, buffer);
            }
            else
            {
                ForgeSerializer.Instance.Serialize(false, buffer);
            }
            message.Serialize(buffer);
            IPaginatedMessage pm = _messageDestructor.BreakdownMessage(buffer);

            sender.Send(receiver, pm.Buffer);
            message.Sent();
            _bufferPool.Release(buffer);
        }
 public void Release(IMessageConstructor constructor)
 {
     _bufferPool.Release(constructor.MessageBuffer);
 }
 public void Teardown()
 {
     _bufferPool.Release(MessageBuffer);
 }