AK.F1.Timing.Live.IO.LiveMessageStreamEndpoint.OpenKeyframe C# (CSharp) Method

OpenKeyframe() public method

public OpenKeyframe ( int keyframe ) : IMessageStream
keyframe int
return IMessageStream
        public IMessageStream OpenKeyframe(int keyframe)
        {
            Guard.InRange(keyframe >= 0, "keyframe");

            Uri keyframeUri = BuildKeyframeUri(keyframe);

            Log.InfoFormat("opening keyframe: {0}", keyframeUri);
            try
            {
                var stream = keyframeUri.GetResponseStream(HttpMethod.Get);
                Log.InfoFormat("opened keyframe, length: {0} bytes", stream.Length);
                return new MessageStreamDelegate(stream);
            }
            catch(IOException exc)
            {
                Log.Error(exc);
                throw Guard.LiveMessageStreamEndpoint_FailedToOpenKeyframe(exc);
            }
        }

Usage Example

        public void can_open_zero_keyframe()
        {
            var endpoint = new LiveMessageStreamEndpoint();

            using(var stream = endpoint.OpenKeyframe(0))
            {
                Assert.NotNull(stream);
            }
        }
All Usage Examples Of AK.F1.Timing.Live.IO.LiveMessageStreamEndpoint::OpenKeyframe