public static Message Create(ArraySegment<byte> hArray, IMessageSerializer o) { Header h = (Header)new Header().FromRawData(hArray); Message m = new Message(); m._header = h; m._object = o; return m; }
public static Message Create(Header h, ArraySegment<byte> oArray) { Message m = new Message(); m._header = h; m._object = MessageUtils.CreateObject(h.MessageId); IMessageSerializer s = (IMessageSerializer)m._object; s.FromRawData(oArray); return m; }
// TODO: Aşağıdaki methodlar içinde ARRAY'ler cache'lenebilir. // Her defasında yeniden oluşturulmak zorunda kalmazlar. public static Message Create(ArraySegment<byte> fullArray) { Message m = new Message(); Header h = (Header)new Header().FromRawData(fullArray); m._header = h; m._object = MessageUtils.CreateObject(h.MessageId); IMessageSerializer s = (IMessageSerializer)m._object; ArraySegment<byte> d = new ArraySegment<byte>(fullArray.Array, fullArray.Offset + h.MessageSize, fullArray.Count - h.MessageSize); s.FromRawData(d); return m; }
public static Message Create(IMessageSerializer o, uint toInbox, int ttl, bool cacheInReceived, bool cacheInSent) { Header h = new Header(); h.Inbox = toInbox; h.ExpireDate = DateTime.Now.Ticks + TimeSpan.FromHours(ttl).Ticks; h.CacheInReceivedMessages = cacheInReceived; h.CacheInSentMessages = cacheInSent; Message m = new Message(); m._header = h; m._object = o; return m; }
public static Message Create(IMessageSerializer o, uint toInbox, int ttl) { Header h = new Header(); h.Inbox = toInbox; h.ExpireDate = DateTime.Now.Ticks + TimeSpan.FromHours(ttl).Ticks; Message m = new Message(); m._header = h; m._object = o; return m; }
public static Message Create(IMessageSerializer o, uint toInbox) { Header h = new Header(); h.Inbox = toInbox; Message m = new Message(); m._header = h; m._object = o; return m; }
public static Message Create(Header h, IMessageSerializer o) { Message m = new Message(); m._header = h; m._object = o; return m; }