public static bool IsNextFrameIsNullEndFrame(ClientMessage.FrameIterator iterator) { var isNull = iterator.PeekNext().IsNullFrame; if (isNull) { iterator.Next(); } return(isNull); }
public static void FastForwardToEndFrame(ClientMessage.FrameIterator iterator) { // We are starting from 1 because of the BeginFrame we read // in the beginning of the Decode method var numberOfExpectedEndFrames = 1; while (numberOfExpectedEndFrames != 0) { var frame = iterator.Next(); if (frame.IsEndFrame) { numberOfExpectedEndFrames--; } else if (frame.IsBeginFrame) { numberOfExpectedEndFrames++; } } }
public static byte[] Decode(ClientMessage.FrameIterator iterator) { return(Decode(iterator.Next())); }
public static List <long> Decode(ClientMessage.FrameIterator iterator) { return(Decode(iterator.Next())); }
public static bool IsNextFrameIsDataStructureEndFrame(ClientMessage.FrameIterator iterator) { return(iterator.PeekNext().IsEndFrame); }
public static T DecodeNullable <T>(ClientMessage.FrameIterator iterator, DecodeDelegate <T> decode) where T : class { return(IsNextFrameIsNullEndFrame(iterator) ? null : decode(iterator)); }