private void Initialise()
{
Log.Info("initialising");
Buffer = CreateBuffer();
Decrypter = DecrypterFactory.Create();
MessageStream = MessageStreamEndpoint.OpenStream();
try
{
var message = ReadMessage();
var keyframeMessage = message as SetKeyframeMessage;
if(keyframeMessage == null)
{
Log.ErrorFormat("unexpected first message, expected set keyframe, instead: {0}", message);
throw Guard.LiveMessageReader_UnexpectedFirstMessage(message);
}
EnqueueMessagesFromKeyframe(keyframeMessage.Keyframe);
State = LiveMessageReaderState.Reading;
}
catch
{
DisposeOfMessageStream();
throw;
}
}