コード例 #1
0
        void LoadSupports(BEncodedDictionary supports)
        {
            var list = new ExtensionSupports();

            foreach (KeyValuePair <BEncodedString, BEncodedValue> k in supports)
            {
                list.Add(new ExtensionSupport(k.Key.Text, (byte)((BEncodedNumber)k.Value).Number));
            }

            Supports = list;
        }
コード例 #2
0
        public ExtendedHandshakeMessage(bool privateTorrent, int?metadataSize, int localListenPort)
            : base(Support.MessageId)
        {
            Supports = new ExtensionSupports(SupportedMessages);
            if (privateTorrent)
            {
                Supports.Remove(PeerExchangeMessage.Support);
            }

            MetadataSize = metadataSize;
            LocalPort    = localListenPort;
        }
コード例 #3
0
 public ExtendedHandshakeMessage()
     : base(Support.MessageId)
 {
     Supports = new ExtensionSupports();
 }
コード例 #4
0
 public LTMetadata(ExtensionSupports supportedExtensions, MessageType type, int piece, byte[] metadata)
     : this(supportedExtensions.MessageId(Support), type, piece, metadata)
 {
 }
コード例 #5
0
 public LTMetadata(ExtensionSupports supportedExtensions, MessageType type, int piece)
     : this(supportedExtensions, type, piece, null)
 {
 }
コード例 #6
0
 public LTMetadata(ExtensionSupports supportedExtensions, MessageType type, int piece)
     : this(supportedExtensions, type, piece, Array.Empty <byte> ())
 {
 }
コード例 #7
0
 public PeerExchangeMessage(ExtensionSupports supportedExtensions, byte[] added, byte[] addedDotF, byte[] dropped)
     : this()
 {
     Initialize(supportedExtensions, (byte[])added.Clone(), (byte[])addedDotF.Clone(), (byte[])dropped.Clone());
 }
コード例 #8
0
 public void Initialize(ExtensionSupports supportedExtensions, ReadOnlyMemory <byte> added, ReadOnlyMemory <byte> addedDotF, ReadOnlyMemory <byte> dropped)
 {
     ExtensionId = supportedExtensions.MessageId(Support);
     Initialize(added, addedDotF, dropped);
 }