示例#1
0
        private static DuplexStreamMessage CreateWithoutValue(QbservableProtocolMessageKind kind, DuplexCallbackId id, StreamQbservableProtocol protocol)
        {
            Contract.Requires(protocol != null);
            Contract.Ensures(Contract.Result <DuplexStreamMessage>() != null);

            return(new DuplexStreamMessage(kind, id, value: null, data: Serialize(id, null, protocol)));
        }
示例#2
0
        private DuplexStreamMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, ExceptionDispatchInfo error, byte[] data)
            : base(kind, data, data.Length)
        {
            Contract.Requires(error != null);

            Id    = id;
            Error = error;
        }
示例#3
0
        public StreamMessage(QbservableProtocolMessageKind kind, byte[] data, long length)
        {
            Contract.Requires(length >= 0);
            Contract.Requires(length == 0 || data != null);
            Contract.Requires(length == 0 || data.Length >= length);

            Kind   = kind;
            Data   = data;
            Length = length;
        }
示例#4
0
        private DuplexStreamMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, object value, byte[] data, long length)
            : base(kind, data, length)
        {
            Contract.Requires(length >= 0);
            Contract.Requires(length == 0 || data != null);
            Contract.Requires(length == 0 || data.Length >= length);

            Id    = id;
            Value = value;
        }
示例#5
0
 private DuplexStreamMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, object value, byte[] data)
     : base(kind, data, data.Length)
 {
     Id    = id;
     Value = value;
 }
 protected override TestMessage CreateMessage(QbservableProtocolMessageKind kind, object data)
 => new TestMessage(kind, data);
 protected override TestMessage CreateMessage(QbservableProtocolMessageKind kind)
 => new TestMessage(kind);
 protected override TMessage CreateMessage(QbservableProtocolMessageKind kind, object data)
 {
     Contract.Ensures(Contract.Result <TMessage>() != null);
     return(default(TMessage));
 }
示例#9
0
 private DuplexQbservableMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, object value, byte[] data, long length)
     : base(kind, data, length)
 {
     this.id    = id;
     this.value = value;
 }
示例#10
0
 public TestMessage(QbservableProtocolMessageKind kind, object value)
     : this(kind)
 {
     Value = value;
 }
示例#11
0
 public TestDuplexMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id)
     : base(kind)
 {
     Id = id;
 }
示例#12
0
 public TestDuplexMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, ExceptionDispatchInfo error)
     : base(kind)
 {
     Id    = id;
     Error = error;
 }
示例#13
0
 public TestDuplexMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, object value)
     : base(kind, value)
 {
     Id = id;
 }
        protected override StreamMessage CreateMessage(QbservableProtocolMessageKind kind, object data)
        {
            long length;

            return(new StreamMessage(kind, Serialize(data, out length), length));
        }
 protected override StreamMessage CreateMessage(QbservableProtocolMessageKind kind)
 => new StreamMessage(kind);
示例#16
0
 public QbservableMessage(QbservableProtocolMessageKind kind, params byte[] data)
     : this(kind, data, data == null ? 0 : data.Length)
 {
 }
示例#17
0
 public TestMessage(QbservableProtocolMessageKind kind)
 {
     Kind = kind;
 }
示例#18
0
 public QbservableMessage(QbservableProtocolMessageKind kind, byte[] data, long length)
 {
     this.kind   = kind;
     this.data   = data;
     this.length = length;
 }
示例#19
0
 private static DuplexQbservableMessage CreateWithoutValue(QbservableProtocolMessageKind kind, DuplexCallbackId id, QbservableProtocol protocol)
 {
     return(new DuplexQbservableMessage(kind, id, value: null, data: Serialize(id, null, protocol)));
 }
        private Task SendMessageAsync(QbservableProtocolMessageKind kind, object data)
        {
            long length;

            return(SendMessageAsync(new QbservableMessage(kind, Serialize(data, out length), length)));
        }
示例#21
0
 private DuplexQbservableMessage(QbservableProtocolMessageKind kind, DuplexCallbackId id, Exception error, byte[] data, long length)
     : base(kind, data, length)
 {
     this.id    = id;
     this.error = error;
 }
 protected abstract TMessage CreateMessage(QbservableProtocolMessageKind kind, object data);