Example #1
0
 public static byte[] EncodeNetworkAddressKey(NetworkAddressKey networkAddressKey)
 {
     using (var stream = new MemoryStream())
     {
         EncodeNetworkAddressKey(stream, networkAddressKey);
         return(stream.ToArray());
     }
 }
Example #2
0
 public static void EncodeNetworkAddressKey(Stream stream, NetworkAddressKey networkAddressKey)
 {
     using (var writer = new BinaryWriter(stream, Encoding.ASCII, leaveOpen: true))
     {
         writer.WriteVarBytes(networkAddressKey.IPv6Address.ToArray());
         writer.Write(networkAddressKey.Port);
     }
 }
Example #3
0
 public bool TryGetValue(NetworkAddressKey networkAddressKey, out NetworkAddressWithTime networkAddressWithTime)
 {
     byte[] networkAddressWithTimeBytes;
     if (this.dict.TryGetValue(EncodeKey(networkAddressKey), out networkAddressWithTimeBytes))
     {
         networkAddressWithTime = DecodeValue(networkAddressWithTimeBytes);
         return(true);
     }
     else
     {
         networkAddressWithTime = default(NetworkAddressWithTime);
         return(false);
     }
 }
Example #4
0
        public NetworkAddressWithTime this[NetworkAddressKey networkAddressKey]
        {
            get
            {
                NetworkAddressWithTime networkAddressWithTime;
                if (this.TryGetValue(networkAddressKey, out networkAddressWithTime))
                {
                    return(networkAddressWithTime);
                }

                throw new KeyNotFoundException();
            }
            set
            {
                this.dict[EncodeKey(networkAddressKey).ToArray()] = EncodeValue(value);
            }
        }
Example #5
0
 public bool TryAdd(NetworkAddressKey networkAddressKey, NetworkAddressWithTime networkAddressWithTime)
 {
     if (!this.ContainsKey(networkAddressKey))
     {
         try
         {
             this.dict.Add(EncodeKey(networkAddressKey), EncodeValue(networkAddressWithTime));
             return(true);
         }
         catch (ArgumentException)
         { return(false); }
     }
     else
     {
         return(false);
     }
 }
Example #6
0
 public bool TryRemove(NetworkAddressKey networkAddressKey)
 {
     return(this.dict.Remove(EncodeKey(networkAddressKey)));
 }
Example #7
0
 public bool ContainsKey(NetworkAddressKey networkAddressKey)
 {
     return(this.dict.ContainsKey(EncodeKey(networkAddressKey)));
 }
Example #8
0
 private static byte[] EncodeKey(NetworkAddressKey networkAddressKey)
 {
     return(NodeEncoder.EncodeNetworkAddressKey(networkAddressKey));
 }
Example #9
0
 public static byte[] EncodeNetworkAddressKey(NetworkAddressKey networkAddressKey)
 {
     using (var stream = new MemoryStream())
     using (var writer = new BinaryWriter(stream))
     {
         EncodeNetworkAddressKey(writer, networkAddressKey);
         return stream.ToArray();
     }
 }
Example #10
0
 public static void EncodeNetworkAddressKey(BinaryWriter writer, NetworkAddressKey networkAddressKey)
 {
     writer.WriteVarBytes(networkAddressKey.IPv6Address.ToArray());
     writer.Write(networkAddressKey.Port);
 }