mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-08 22:13:48 +01:00
reserve address for 3 introducers
This commit is contained in:
parent
7def2fa6a3
commit
44e01b41f8
1 changed files with 6 additions and 1 deletions
|
@ -187,13 +187,14 @@ namespace data
|
||||||
|
|
||||||
void RouterInfo::ReadFromStream (std::istream& s)
|
void RouterInfo::ReadFromStream (std::istream& s)
|
||||||
{
|
{
|
||||||
|
if (!s) return;
|
||||||
m_Caps = 0;
|
m_Caps = 0;
|
||||||
s.read ((char *)&m_Timestamp, sizeof (m_Timestamp));
|
s.read ((char *)&m_Timestamp, sizeof (m_Timestamp));
|
||||||
m_Timestamp = be64toh (m_Timestamp);
|
m_Timestamp = be64toh (m_Timestamp);
|
||||||
// read addresses
|
// read addresses
|
||||||
auto addresses = boost::make_shared<Addresses>();
|
auto addresses = boost::make_shared<Addresses>();
|
||||||
uint8_t numAddresses;
|
uint8_t numAddresses;
|
||||||
s.read ((char *)&numAddresses, sizeof (numAddresses)); if (!s) return;
|
s.read ((char *)&numAddresses, sizeof (numAddresses));
|
||||||
addresses->reserve (numAddresses);
|
addresses->reserve (numAddresses);
|
||||||
for (int i = 0; i < numAddresses; i++)
|
for (int i = 0; i < numAddresses; i++)
|
||||||
{
|
{
|
||||||
|
@ -282,7 +283,11 @@ namespace data
|
||||||
if (s) continue; else return;
|
if (s) continue; else return;
|
||||||
}
|
}
|
||||||
if (index >= address->ssu->introducers.size ())
|
if (index >= address->ssu->introducers.size ())
|
||||||
|
{
|
||||||
|
if (address->ssu->introducers.empty ()) // first time
|
||||||
|
address->ssu->introducers.reserve (3);
|
||||||
address->ssu->introducers.resize (index + 1);
|
address->ssu->introducers.resize (index + 1);
|
||||||
|
}
|
||||||
Introducer& introducer = address->ssu->introducers.at (index);
|
Introducer& introducer = address->ssu->introducers.at (index);
|
||||||
if (!strcmp (key, "ihost"))
|
if (!strcmp (key, "ihost"))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue