public async Task <IConnectionHandler> CreateAsync(CancellationToken?token = null)
        {
            if (connectionParameters == null)
            {
                throw new InvalidOperationException("ConnectionParameters must be provided");
            }

            if (flow == null)
            {
                throw new InvalidOperationException("A connection flow implementation must be provided.");
            }

            var connection = await flow.CreateAsync(connectionParameters);

            switch (threadingMode)
            {
            case ThreadingMode.SingleThreaded:
                return(new SpatialOSConnectionHandler(connection));

            case ThreadingMode.MultiThreaded:
                return(new MultiThreadedSpatialOSConnectionHandler(connection));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 2
0
        public async Task <IConnectionHandler> CreateAsync(CancellationToken?token = null)
        {
            if (connectionParameters == null)
            {
                throw new InvalidOperationException("ConnectionParameters must be provided");
            }

            if (flow == null)
            {
                throw new InvalidOperationException("A connection flow implementation must be provided.");
            }

            var connection = await flow.CreateAsync(connectionParameters);

            return(new SpatialOSConnectionHandler(connection));
        }