public void TestSimpleDatabaseHeader5StoreCreation() { var mapping = new I2PMapping(); mapping["One"] = "1"; mapping["2"] = "Two"; var ri = new I2PRouterInfo( new I2PRouterIdentity(Public, PublicSigning), I2PDate.Now, new I2PRouterAddress[] { new I2PRouterAddress(new IPAddress(424242L), 773, 42, "SSU") }, mapping, PrivateSigning); var dbsm = new DatabaseStoreMessage(ri); var data = dbsm.CreateHeader16.HeaderAndPayload; var recreated = I2NPMessage.ReadHeader16(new BufRefLen(data)); Assert.IsTrue(recreated.MessageType == I2NPMessage.MessageTypes.DatabaseStore); var rdsm = (DatabaseStoreMessage)recreated.Message; Assert.IsTrue(rdsm.RouterInfo.Options["One"] == "1"); Assert.IsTrue(rdsm.RouterInfo.Options["2"] == "Two"); Assert.IsTrue(rdsm.RouterInfo.VerifySignature()); }
long TryGet(I2PMapping map, string ix, long def) { try { return(long.Parse(map[ix])); } catch (Exception) { return(def); } }
float TryGetFloat(I2PMapping map, string ix) { try { return(float.Parse(map[ix], CultureInfo.InvariantCulture)); } catch (Exception) { return(0f); } }
public GetDateMessage(BufRefLen reader) : base(ProtocolMessageType.GetDate) { Version = new I2PString(reader); // As of release 0.9.11, the authentication [Mapping] may be included, with the keys i2cp.username and i2cp.password. if (reader.Length > 0) { Mapping = new I2PMapping(reader); } }
public GetDateMessage(BufRef reader) : base(ProtocolMessageType.GetDate) { reader.Seek(4); if ((ProtocolMessageType)reader.Read8() != MessageType) { throw new ArgumentException("GetDateMessage( reader ) Wrong message type."); } Version = new I2PString(reader); Mapping = new I2PMapping(reader); }
DatabaseStoreMessage CreateDatabaseStoreMessage() { var mapping = new I2PMapping(); mapping["One"] = "1"; mapping["2"] = "Two"; var ri = new I2PRouterInfo( new I2PRouterIdentity(Public, PublicSigning), I2PDate.Now, new I2PRouterAddress[] { new I2PRouterAddress(new IPAddress(424242L), 773, 42, "SSU") }, mapping, PrivateSigning); var dbsm = new DatabaseStoreMessage(ri); return(dbsm); }
private I2PMapping CreateMapping() { var mapping = new I2PMapping(); mapping["SuccessfulConnects"] = SuccessfulConnects.ToString(); mapping["FailedConnects"] = FailedConnects.ToString(); mapping["InformationFaulty"] = InformationFaulty.ToString(); mapping["SuccessfulTunnelMember"] = SuccessfulTunnelMember.ToString(); mapping["DeclinedTunnelMember"] = DeclinedTunnelMember.ToString(); mapping["SlowHandshakeConnect"] = SlowHandshakeConnect.ToString(); mapping["MaxBandwidthSeen"] = MaxBandwidthSeen.ToString(CultureInfo.InvariantCulture); mapping["TunnelBuildTimeout"] = TunnelBuildTimeout.ToString(); mapping["TunnelBuildTimeMsPerHop"] = TunnelBuildTimeMsPerHop.ToString(); mapping["FloodfillUpdateTimeout"] = FloodfillUpdateTimeout.ToString(); mapping["FloodfillUpdateSuccess"] = FloodfillUpdateSuccess.ToString(); mapping["SuccessfulTunnelTest"] = SuccessfulTunnelTest.ToString(); mapping["FailedTunnelTest"] = FailedTunnelTest.ToString(); return(mapping); }
public DestinationStatistics(BufRef buf) { Id = new I2PIdentHash(buf); LastSeen = new I2PDate(buf); buf.Seek(60); // Reserved space var mapping = new I2PMapping(buf); SuccessfulConnects = TryGet(mapping, "SuccessfulConnects"); FailedConnects = TryGet(mapping, "FailedConnects"); InformationFaulty = TryGet(mapping, "InformationFaulty"); SuccessfulTunnelMember = TryGet(mapping, "SuccessfulTunnelMember"); DeclinedTunnelMember = TryGet(mapping, "DeclinedTunnelMember"); SlowHandshakeConnect = TryGet(mapping, "SlowHandshakeConnect"); MaxBandwidthSeen = TryGetFloat(mapping, "MaxBandwidthSeen"); TunnelBuildTimeout = TryGet(mapping, "TunnelBuildTimeout"); TunnelBuildTimeMsPerHop = TryGet(mapping, "TunnelBuildTimeMsPerHop", DefaultTunnelBuildTimeMsPerHop); FloodfillUpdateTimeout = TryGet(mapping, "FloodfillUpdateTimeout"); FloodfillUpdateSuccess = TryGet(mapping, "FloodfillUpdateSuccess"); SuccessfulTunnelTest = TryGet(mapping, "SuccessfulTunnelTest"); FailedTunnelTest = TryGet(mapping, "FailedTunnelTest"); }
public GetDateMessage(string ver, I2PMapping map) : base(ProtocolMessageType.GetDate) { Version = new I2PString(ver); Mapping = map; }