当前位置: 首页>>代码示例>>C#>>正文


C# BEncodedList.Encode方法代码示例

本文整理汇总了C#中BEncodedList.Encode方法的典型用法代码示例。如果您正苦于以下问题:C# BEncodedList.Encode方法的具体用法?C# BEncodedList.Encode怎么用?C# BEncodedList.Encode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BEncodedList的用法示例。


在下文中一共展示了BEncodedList.Encode方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SaveFastResume

        public void SaveFastResume()
        {
            if (string.IsNullOrWhiteSpace(settings.FastResumePath))
                return;

            var encodedList = new BEncodedList();
            var fastResumeData = torrentsReadonly
                .Where(x => x.HashChecked)
                .Select(tm => tm.SaveFastResume().Encode());
            foreach (var data in fastResumeData)
                encodedList.Add(data);

            File.WriteAllBytes(settings.FastResumePath, encodedList.Encode());
        }
开发者ID:mrscylla,项目名称:octotorrent,代码行数:14,代码来源:ClientEngine.cs

示例2: SaveNodes

        public byte[] SaveNodes()
        {
            BEncodedList details = new BEncodedList();

            MainLoop.QueueWait((MainLoopTask)delegate {
                foreach (Bucket b in RoutingTable.Buckets)
                {
                    foreach (Node n in b.Nodes)
                        if (n.State != NodeState.Bad)
                            details.Add(n.CompactNode());

                    if (b.Replacement != null)
                        if (b.Replacement.State != NodeState.Bad)
                            details.Add(b.Replacement.CompactNode());
                }
            });

            return details.Encode();
        }
开发者ID:mrscylla,项目名称:octotorrent,代码行数:19,代码来源:DhtEngine.cs

示例3: benListEncoding

        public void benListEncoding()
        {
            byte[] data = System.Text.Encoding.UTF8.GetBytes("l4:test5:tests6:testede");
            BEncodedList list = new BEncodedList();
            list.Add(new BEncodedString("test"));
            list.Add(new BEncodedString("tests"));
            list.Add(new BEncodedString("tested"));

            Assert.IsTrue(Toolbox.ByteMatch(data, list.Encode()));
        }
开发者ID:burris,项目名称:monotorrent,代码行数:10,代码来源:BEncodingTest.cs

示例4: benListEncodingBuffered

 public void benListEncodingBuffered()
 {
     byte[] data = System.Text.Encoding.UTF8.GetBytes("l4:test5:tests6:testede");
     BEncodedList list = new BEncodedList();
     list.Add(new BEncodedString("test"));
     list.Add(new BEncodedString("tests"));
     list.Add(new BEncodedString("tested"));
     byte[] result = new byte[list.LengthInBytes()];
     list.Encode(result, 0);
     Assert.IsTrue(Toolbox.ByteMatch(data, result));
 }
开发者ID:burris,项目名称:monotorrent,代码行数:11,代码来源:BEncodingTest.cs

示例5: benListEncoding

        public void benListEncoding()
        {
            var data = Encoding.UTF8.GetBytes("l4:test5:tests6:testede");
            var list = new BEncodedList();
            list.Add(new BEncodedString("test"));
            list.Add(new BEncodedString("tests"));
            list.Add(new BEncodedString("tested"));

            Assert.True(Toolbox.ByteMatch(data, list.Encode()));
        }
开发者ID:claudiuslollarius,项目名称:monotorrent,代码行数:10,代码来源:BEncodeTest.cs

示例6: SaveNodes

        public byte[] SaveNodes()
        {
            var details = new BEncodedList();

            MainLoop.QueueWait(() =>
                                   {
                                       foreach (var bucket in RoutingTable.Buckets)
                                       {
                                           foreach (var node in bucket.Nodes)
                                               if (node.State != NodeState.Bad)
                                                   details.Add(node.CompactNode());

                                           if (bucket.Replacement != null)
                                               if (bucket.Replacement.State != NodeState.Bad)
                                                   details.Add(bucket.Replacement.CompactNode());
                                       }
                                   });

            return details.Encode();
        }
开发者ID:Eskat0n,项目名称:OctoTorrent,代码行数:20,代码来源:DhtEngine.cs

示例7: SaveNodes

        public byte[] SaveNodes()
        {
            var details = new BEncodedList();

            MainLoop.QueueWait(delegate
            {
                foreach (var b in RoutingTable.Buckets)
                {
                    foreach (var n in b.Nodes.Where(n => n.State != NodeState.Bad))
                        details.Add(n.CompactNode());

                    if (b.Replacement != null)
                        if (b.Replacement.State != NodeState.Bad)
                            details.Add(b.Replacement.CompactNode());
                }
            });

            return details.Encode();
        }
开发者ID:haroldma,项目名称:Universal.Torrent,代码行数:19,代码来源:DhtEngine.cs

示例8: SaveState

        public void SaveState()
        {
            BEncodedList list = new BEncodedList ();
            foreach (TorrentManagerAdapter adapter in this.downloaders.Values)
            {
                TorrentData d = new TorrentData ();
                d.FastResume = adapter.Manager.SaveFastResume ();
                d.SavePath = adapter.Manager.SavePath;
                d.Settings = adapter.Manager.Settings;
                d.TorrentPath = adapter.Manager.Torrent.TorrentPath;
                list.Add (d.Serialize ());
            }

            System.IO.File.WriteAllBytes (System.IO.Path.Combine (StoragePath, SettingsFile), list.Encode ());
        }
开发者ID:jackgao,项目名称:bitsharp-dbus,代码行数:15,代码来源:EngineAdapter.cs

示例9: saveFastResume

 public void saveFastResume(List<TorrentManager> managers)
 {
     BEncodedList list = new BEncodedList();
     foreach (TorrentManager manager in managers)
     {
         FastResume data = manager.SaveFastResume();
         BEncodedDictionary fastResume = data.Encode();
         list.Add(fastResume);
     }
     File.WriteAllBytes(fastResumePath, list.Encode());
 }
开发者ID:descention,项目名称:LAN-CDS,代码行数:11,代码来源:Transfer.cs

示例10: StoreFastResume

 public void StoreFastResume()
 {
     try
     {
         logger.Info("storing fast resume");
         BEncodedList list = new BEncodedList();
         foreach (Download t in Torrents)
             list.Add(t.SaveFastResume().Encode ());
         File.WriteAllBytes(Defines.SerializedFastResume, list.Encode());
     }
     catch (Exception ex)
     {
         logger.Warn (string.Format("Couldn't store fast resume: {0}", ex));
     }
 }
开发者ID:ArsenShnurkov,项目名称:monsoon,代码行数:15,代码来源:TorrentController.cs

示例11: SaveFastResume

    public void SaveFastResume(List <TorrentManager> managers)
    {
        // Store the fast resume for each torrent in a list,
         // then serialise the list to the disk.
         BEncodedList list = new BEncodedList ();
         foreach (TorrentManager manager in managers) {

             // Get the fast resume data for the torrent
             FastResume data = manager.SaveFastResume ();

             // Encode the FastResume data to a BEncodedDictionary.
             BEncodedDictionary fastResume = data.Encode ();
             // Add the FastResume dictionary to the main dictionary using
             // the torrents infohash as the key
             list.Add((fastResume as BEncodedValue));

         }

         // Write all the fast resume data to disk
         File.WriteAllBytes (fastResumePath, list.Encode ());
    }
开发者ID:Xeonios,项目名称:XenoTorrent,代码行数:21,代码来源:MainWindow.cs


注:本文中的BEncodedList.Encode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。