public void Save(Beetle.BufferWriter writer) { writer.Write(Message.GetType().Name); Beetle.ByteArraySegment segment = mArrayPool.Pop(); using(System.IO.Stream stream = new System.IO.MemoryStream(segment.Array)) { ProtoBuf.Meta.RuntimeTypeModel.Default.Serialize(stream, Message); segment.SetInfo(0, (int)stream.Position); } writer.Write(segment); mArrayPool.Push(segment); }
public void Save(Beetle.BufferWriter writer) { writer.Write(Message.GetType().FullName); byte[] data; using (System.IO.Stream stream = new System.IO.MemoryStream()) { ProtoBuf.Meta.RuntimeTypeModel.Default.Serialize(stream, Message); data = new byte[stream.Length]; stream.Position = 0; stream.Read(data, 0, data.Length); } writer.Write(data); }
protected override void WriteMessageType(Beetle.IMessage msg, Beetle.IDataWriter writer) { if (msg is ListUsers) { writer.Write(1); } else if (msg is ListUsersResponse) { writer.Write(2); } else if (msg is Register) { writer.Write(3); } else if (msg is UnRegister) { writer.Write(4); } else if (msg is RegisterResponse) { writer.Write(5); } else if(msg is Say ) { writer.Write(6); } else if (msg is OnRegister) { writer.Write(7); } else { writer.Write(-1); } }
public override void Save(Beetle.IDataWriter writer) { base.Save(writer); writer.Write(Users); }
public void Save(Beetle.IDataWriter writer) { writer.WriteUTF(Name); writer.WriteUTF(EMail); writer.Write(ResponseTime); }
public virtual void Save(Beetle.IDataWriter writer) { writer.Write(ID); }
public void Save(Beetle.IDataWriter writer) { writer.Write(Name); writer.Write(IP); }