예제 #1
0
    private IMessage FrameSyncNotify(ByteString message)
    {
        GSFrameSyncNotify request = new GSFrameSyncNotify();

        ByteUtils.ByteStringToObject(request, message);
        GSFrameBroadcastAck reply = new GSFrameBroadcastAck()
        {
            Status = (UInt32)ErrorCode.Ok
        };

        Logger.Debug("FrameSync, LastIndex:{0}, NextIndex:{1}", request.LastIdx, request.NextIdx);

        Dictionary <UInt32, FrameData> roomFrame;

        if (roomFrames.TryGetValue(request.RoomID, out roomFrame))
        {
            FrameData frame;
            if (roomFrame.Remove(request.LastIdx, out frame))
            {
                frame.FrameWaitCount = roomFrame.Count;
                msgHandler.OnHotelFrameUpdate(frame);
            }
        }

        return(reply);
    }