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); }