예제 #1
0
 internal static TcpRawMessage GetEmpty(MemoryStreamPool memoryStreamPool, MessageHeaderFlags flags)
 {
     return(new TcpRawMessage(memoryStreamPool, new ArraySegment <byte>(RawMessage.emptyArray, 0, 0), false)
     {
         Flags = flags
     });
 }
예제 #2
0
 public bool HasFlag(MessageHeaderFlags flag)
 {
     return(Flags.HasFlag(flag));
 }
예제 #3
0
 private void SerializeHeader(NetworkBinaryWriter writer, ushort bodyLength)
 {
     // Message header structure:
     // byte protocol_identifier
     // byte message_type
     // byte message_flags
     // byte protocol_version
     // word message_body_length
     // word reserved
     writer.Write((byte)PROTOCOL_IDENTIFIER);
     var messageType = GetMessageType(GetType());
     writer.Write((byte)messageType.TopicIdentifier);
     if (messageType.IsReply) _headerFlags |= MessageHeaderFlags.Reply;
     writer.Write((byte)_headerFlags); // flags
     writer.Write((byte)VERSION_IDENTIFIER);
     writer.Write((ushort)bodyLength);
     writer.Write((ushort)0);
 }
예제 #4
0
 public TcpRawMessageOptions(MessageHeaderFlags flags)
 {
     this.Flags = flags;
 }