public void TestDownloadInfoPartConverter_Size()
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, nameof(down.Size));
     DownloadExpandPart part = DownloadInfoPartConverter.Decode(buffer);
     Assert.AreEqual(down.GuidCode, part.GuidCode);
     Assert.AreEqual(DownloadCode.Size, part.Code);
     Assert.AreEqual(down.Size, part.Value);
 }
 public void TestDownloadInfoPartConverter_GoTop()
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, nameof(DownloadCode.GoTop));
     DownloadExpandPart part = DownloadInfoPartConverter.Decode(buffer);
     Assert.AreEqual(down.GuidCode, part.GuidCode);
     Assert.AreEqual(DownloadCode.GoTop, part.Code);
     Assert.IsNull(part.Value);
 }
 public void TestDownloadInfoPartConverter_DownloadInfo()
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, nameof(down.DownloadInfo));
     DownloadExpandPart part = DownloadInfoPartConverter.Decode(buffer);
     Assert.AreEqual(down.GuidCode, part.GuidCode);
     Assert.AreEqual(DownloadCode.DownloadInfo, part.Code);
     DownloadInfoParamTest.AssertAreEqual(down.DownloadInfo, (IDownloadInfo)part.Value);
 }
 public void TestDownloadInfoPartConverter_TimePeriodsCompleted()
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, nameof(down.TimePeriodsCompleted));
     DownloadExpandPart part = DownloadInfoPartConverter.Decode(buffer);
     Assert.AreEqual(down.GuidCode, part.GuidCode);
     Assert.AreEqual(DownloadCode.TimePeriodsCompleted, part.Code);
     TimePeriodPacketTest.AssertAreEqualArray(down.TimePeriodsCompleted, (TimePeriodPacket[])part.Value);
 }
 private void onPart(OnlineDownloadManager down, string obj)
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, obj);
     if (buffer != null)
     {
         onDownloadInfoPartChanged(buffer);
     }
 }
Exemple #6
0
        private void Client_ReceiveCompleted(object sender, ReceiveEventArgs args)
        {
            try
            {
                if (args.ByteLength > 0)
                {
                    onBytesLengthReceived(args.ByteLength);
                    using (MemoryStream ms = new MemoryStream(args.ReceivedBytes))
                    {
                        int code = PacketBase.ReadInt(ms);
                        switch ((ParamCode)code)
                        {
                        case ParamCode.TimePeriods:
                            onVideoStoragePacket(VideoTimePeriodsPacket.Decode(ms));
                            break;

                        case ParamCode.VideoPacket:
                            onVideoPacket(VideoStreamsPacket.Decode(ms));
                            break;

                        case ParamCode.VideoBaseInfo:
                            onVideoBasePacket(VideoBasePacket.Decode(ms));
                            break;

                        case ParamCode.DownloadInfosAll:
                            onDownloadInfosAll(DownloadInfoExpandPacket.DecodeArray(ms));
                            break;

                        case ParamCode.DownloadInfosAdd:
                            onDownloadInfosAdd(DownloadInfoExpandPacket.Decode(ms));
                            break;

                        case ParamCode.DownloadInfoPart:
                            onDownloadInfoPart(DownloadInfoPartConverter.Decode(ms));
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                onException(ex);
            }
        }
 public void TestDownloadInfoPartConverter_Invalid()
 {
     byte[] buffer = DownloadInfoPartConverter.Encode(down, "invalidtest");
     DownloadExpandPart part = DownloadInfoPartConverter.Decode(buffer);
     Assert.AreEqual(0, (int)part.Code);
 }