Esempio n. 1
0
 public Request(InterReactClientConnector builder, IRxSocketClient rxSocket)
 {
     Builder = builder;
     Limiter = new RingLimiter(Builder.MaxRequestsPerSecond);
     ArgumentNullException.ThrowIfNull(rxSocket);
     RxSocket = rxSocket;
 }
Esempio n. 2
0
    public async Task T03_Connection_Refused()
    {
        var task = new InterReactClientConnector().WithLogger(Logger).WithPorts(999).ConnectAsync();
        var ex   = await Assert.ThrowsAsync <ArgumentException>(async() => await task);

        Write(ex.ToString());
    }
Esempio n. 3
0
    public async Task T02_Timeout()
    {
        var cts  = new CancellationTokenSource(TimeSpan.FromMilliseconds(1000));
        var task = new InterReactClientConnector().WithLogger(Logger).ConnectAsync(cts.Token);
        var ex   = await Assert.ThrowsAsync <OperationCanceledException>(async() => await task);

        Write(ex.ToString());
    }
Esempio n. 4
0
    public async Task T01_Cancel()
    {
        var ct   = new CancellationToken(true);
        var task = new InterReactClientConnector().WithLogger(Logger).ConnectAsync(ct);
        var ex   = await Assert.ThrowsAnyAsync <OperationCanceledException>(async() => await task);

        Write(ex.ToString());
    }
Esempio n. 5
0
 internal ResponseReader(InterReactClientConnector builder)
 {
     Builder = builder;
     Parser  = new ResponseParser(builder.Logger);
 }
Esempio n. 6
0
    internal static IObservable <object> ToMessages(this IObservable <string[]> source, InterReactClientConnector builder)
    {
        ResponseComposer composer = new(builder);

        return(Observable.Create <object>(observer =>
        {
            return source.Subscribe(
                strings =>
            {
                object message = composer.Compose(strings);
                observer.OnNext(message);
                if (message is PriceTick priceTick && builder.FollowPriceTickWithSizeTick)
                {
                    TickType type = GetSizeTickType(priceTick.TickType);
                    if (type != TickType.Undefined)
                    {
                        observer.OnNext(new SizeTick(priceTick.RequestId, type, priceTick.Size));
                    }
                }
            },
                e => observer.OnError(e),
                observer.OnCompleted);
        }));
    }