예제 #1
0
파일: SpdyStream.cs 프로젝트: lulzzz/Port
        internal static SpdyStream Open(
            SynStream synStream,
            ConcurrentPriorityQueue <Frame> sendingPriorityQueue)
        {
            var stream = new SpdyStream(synStream, sendingPriorityQueue);

            stream.Open();
            return(stream);
        }
예제 #2
0
 protected override async Task WhenAsync(
     CancellationToken cancellationToken)
 {
     Session.Open(SynStream.PriorityLevel.High,
                  headers: new NameValueHeaderBlock(
                      ("header1", new[] { "value1" })));
     _synStream = await _synStreamSubscription
                  .ReceiveAsync(cancellationToken)
                  .ConfigureAwait(false);
 }
예제 #3
0
 protected override async Task WhenAsync(
     CancellationToken cancellationToken)
 {
     _message = (await Control.TryReadAsync(
                     new FrameReader(
                         PipeReader.Create(_serialized)),
                     cancellationToken)
                 .ConfigureAwait(false))
                .GetOrThrow() as SynStream;
 }
예제 #4
0
파일: SpdyStream.cs 프로젝트: lulzzz/Port
        internal static SpdyStream Accept(
            SynStream synStream,
            ConcurrentPriorityQueue <Frame> sendingPriorityQueue,
            NameValueHeaderBlock?headers =
            default)
        {
            var stream = new SpdyStream(synStream, sendingPriorityQueue);

            stream.Accept(headers);
            return(stream);
        }
예제 #5
0
파일: SpdyStream.cs 프로젝트: lulzzz/Port
        private SpdyStream(
            SynStream synStream,
            ConcurrentPriorityQueue <Frame> sendingPriorityQueue)
        {
            _synStream            = synStream;
            _sendingPriorityQueue = sendingPriorityQueue;

            _streamInUse              = RstStream.StreamInUse(Id);
            _protocolError            = RstStream.ProtocolError(Id);
            _flowControlError         = RstStream.FlowControlError(Id);
            _streamAlreadyClosedError = RstStream.StreamAlreadyClosed(Id);
        }
예제 #6
0
 protected override Task GivenAsync(
     CancellationToken cancellationToken)
 {
     _frame = new SynStream(
         SynStream.Options.Unidirectional,
         UInt31.From(123),
         UInt31.From(524),
         SynStream.PriorityLevel.High,
         new NameValueHeaderBlock(
             ("host", new[] { "test", "test2" }),
             ("user-agent",
              new[]
     {
         "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv: 50.0) Gecko / 20100101 Firefox / 50.0"
     })));
     return(Task.CompletedTask);
 }
예제 #7
0
 internal static bool IsClient(
     this SynStream synStream)
 {
     return(synStream.StreamId.IsOdd());
 }