示例#1
0
        private void ProcessDescribeStream()
        {
            var req = new Amazon.Kinesis.Model.DescribeStreamRequest()
            {
                StreamName            = dsRequest_.Stream,
                ExclusiveStartShardId = dsRequest_.ExclusiveStartShardId,
                Limit = dsRequest_.Limit
            };

            CancellationTokenSource cts = new CancellationTokenSource();
            CancellationToken       ct  = cts.Token;

            StdErrorOut.Instance.StdOut(LogLevel.debug, "Kinesis.Execute before kinesisClient_.DescribeStreamAsync(req, ct)");
            var responseTask = kinesisClient_.DescribeStreamAsync(req, ct);

            responseTask.Wait(timeout_, ct);
            if (responseTask.IsCompleted)
            {
                response_ = new AwsKinesisResponse(responseTask.Result);
                succeed();
            }
            if (!responseTask.IsCompleted)
            {
                cts.Cancel();
                fail("Failed to describe Kinesis Stream");
            }
        }
示例#2
0
            public void DescribeStreamAsync(Amazon.Kinesis.Model.DescribeStreamRequest request, Action <KPLNET.Core.Clients.KinesisClient.AwsKinesisClient, Amazon.Kinesis.Model.DescribeStreamRequest, Amazon.Kinesis.Model.DescribeStreamResponse, object> handler, object context)
            {
                executor_.Schedule(() =>
                {
                    if (outcomes_.Count == 0)
                    {
                        return;
                    }

                    var outcome = outcomes_[0];
                    outcomes_.RemoveAt(0);
                    handler(this, request, outcome, context);
                    callback_();
                }, DateTime.Now.AddMilliseconds(20));
            }