public DuplexCallbackEnumerator(string name, int enumeratorId, IQbservableProtocol protocol, IServerDuplexQbservableProtocolSink sink)
            {
                Contract.Requires(!string.IsNullOrEmpty(name));
                Contract.Requires(protocol != null);
                Contract.Requires(sink != null);

                this.name         = name;
                this.enumeratorId = enumeratorId;
                this.protocol     = protocol;
                this.sink         = sink;
            }
        public void SetServerProtocol(QbservableProtocol protocol)
        {
            Contract.Requires(protocol != null);

            this.protocol = protocol;
            this.sink     = protocol.FindSink <IServerDuplexQbservableProtocolSink>();

            if (sink == null)
            {
                throw new InvalidOperationException(Errors.ProtocolDuplexSinkUnavailableForClientCallback);
            }
        }
예제 #3
0
 public DuplexCallbackEnumerator(int enumeratorId, QbservableProtocol protocol, IServerDuplexQbservableProtocolSink sink)
 {
     this.enumeratorId = enumeratorId;
     this.protocol     = protocol;
     this.sink         = sink;
 }