Esempio n. 1
0
        public void TestDownloadInfoExpandPacketArrayEmpty()
        {
            DownloadInfoExpandPacket[] packets = new DownloadInfoExpandPacket[0];
            byte[] buffer   = DownloadInfoExpandPacket.EncodeArray(packets);
            var    packets2 = DownloadInfoExpandPacket.DecodeArray(buffer);

            Assert.AreEqual(0, packets2.Length);
        }
Esempio n. 2
0
        private void onDownloadInfosAdd(DownloadInfoExpandPacket expand)
        {
            var handle = DownloadInfoExpandAddReceived;

            if (handle != null)
            {
                handle(expand);
            }
        }
Esempio n. 3
0
        private void onDownloadInfoExpandAny(DownloadInfoExpandPacket obj)
        {
            var handle = DownloadInfoExpandAnyReceived;

            if (handle != null)
            {
                handle(obj);
            }
        }
Esempio n. 4
0
        public void TestDownloadInfoExpandPacket()
        {
            var packet = NewDownloadInfoExpandPacket();

            byte[] buffer  = DownloadInfoExpandPacket.Encode(packet);
            var    packet2 = DownloadInfoExpandPacket.Decode(buffer);

            assertAreEqual(packet, packet2);
        }
        private void onDownloadChanged(OnlineDownloadManager down)
        {
            var handle = DownloadAdded;

            if (handle != null)
            {
                handle(DownloadInfoExpandPacket.Encode(down));
            }
        }
Esempio n. 6
0
 private void feedbackDownloadInfosToClient()
 {
     Logger.Default.Trace("反馈所有下载信息及状态,用于下载客户端所有数据刷新!");
     IDownloadInfoExpand[] dps = OnlineDownloadsManager.Instance.GetDownloadPackets();
     send(ParamCode.DownloadInfosAll, DownloadInfoExpandPacket.EncodeArray(dps));
     OnlineDownloadsManager.Instance.DownloadInfoPartChanged -= onDownloadInfoPartChanged;
     OnlineDownloadsManager.Instance.DownloadInfoPartChanged += onDownloadInfoPartChanged;
     OnlineDownloadsManager.Instance.DownloadAdded           -= onDownloadAdded;
     OnlineDownloadsManager.Instance.DownloadAdded           += onDownloadAdded;
 }
Esempio n. 7
0
 private void onDownloadInfoExpandAny(DownloadInfoExpandPacket packet)
 {
     try
     {
         Common.Util.WindowUtil.BeginInvoke(new Action(() => {
             DownloadsViewModel.Add(packet);
         }));
     }
     catch { }
 }
Esempio n. 8
0
        public void Add(DownloadInfoExpandPacket packet)
        {
            var down = new DownloadViewModel(packet);

            down.DownloadControlEvent += onDownloadControl;
            down.DeleteEvent          += onDelete;
            down.RefreshEvent         += refreshViewSource;
            down.SingleSelected        = !CommandModel.MultiSelected;
            _downloads.Add(down);
        }
Esempio n. 9
0
 private void assertAreEqual(DownloadInfoExpandPacket p1, DownloadInfoExpandPacket p2)
 {
     Assert.AreEqual(p1.GuidCode, p2.GuidCode);
     Assert.AreEqual(p1.Name, p2.Name);
     Assert.AreEqual(p1.Quality, p2.Quality);
     Assert.AreEqual(p1.Size, p2.Size);
     Assert.AreEqual(p1.IsLocalDownload, p2.IsLocalDownload);
     Assert.AreEqual(p1.DownloadStatus, p2.DownloadStatus);
     TimePeriodPacketTest.AssertAreEqualArray(p1.TimePeriodsAll, p2.TimePeriodsAll);
     TimePeriodPacketTest.AssertAreEqualArray(p1.TimePeriodsCompleted, p2.TimePeriodsCompleted);
     Assert.AreEqual(p1.ErrorInfo, p2.ErrorInfo);
     Assert.AreEqual(p1.UpdatedLastestTime, p2.UpdatedLastestTime);
     Assert.AreEqual(p1.Speed, p2.Speed);
 }
Esempio n. 10
0
        public void TestDownloadInfoExpandPacketArray()
        {
            var packet = NewDownloadInfoExpandPacket();

            DownloadInfoExpandPacket[] packets = new DownloadInfoExpandPacket[]
            {
                packet, packet
            };
            byte[] buffer   = DownloadInfoExpandPacket.EncodeArray(packets);
            var    packets2 = DownloadInfoExpandPacket.DecodeArray(buffer);

            Assert.AreEqual(packets.Length, packets2.Length);
            for (int i = 0; i < packets.Length; i++)
            {
                assertAreEqual(packets[i], packets2[i]);
            }
        }
Esempio n. 11
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);
            }
        }