Shrink CAddress from 48 to 40 bytes on x64

`CAddress` inherits `CService` which is 28 bytes (on 64 bit machines).
`CAddress` then adds two member variables - one that requires 4 byte
alignment (`nTime`) and one that requires 8 byte alignment
(`nServices`).

Declare the smaller one first so that it fits in bytes 29..32.

On 32 bit machines this change has no effect and `CAddress` remains 40
bytes.
This commit is contained in:
Vasil Dimov 2020-08-12 12:40:25 +02:00
parent bd00d3b1f2
commit 767073fb96
No known key found for this signature in database
GPG key ID: 54DF06F64B55CBBF

View file

@ -371,9 +371,10 @@ public:
READWRITEAS(CService, obj);
}
ServiceFlags nServices{NODE_NONE};
// disk and network only
uint32_t nTime{TIME_INIT};
ServiceFlags nServices{NODE_NONE};
};
/** getdata message type flags */