MCPcopy Create free account
hub / github.com/PurpleI2P/i2pd / CreatePeerTestBlock

Method CreatePeerTestBlock

libi2pd/SSU2Session.cpp:3159–3178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3157 }
3158
3159 size_t SSU2Session::CreatePeerTestBlock (uint8_t * buf, size_t len, uint8_t msg, SSU2PeerTestCode code,
3160 const uint8_t * routerHash, const uint8_t * signedData, size_t signedDataLen)
3161 {
3162 buf[0] = eSSU2BlkPeerTest;
3163 size_t payloadSize = 3/* msg, code, flag */ + signedDataLen;
3164 if (routerHash) payloadSize += 32; // router hash
3165 if (payloadSize + 3 > len) return 0;
3166 htobe16buf (buf + 1, payloadSize); // size
3167 buf[3] = msg; // msg
3168 buf[4] = (uint8_t)code; // code
3169 buf[5] = 0; //flag
3170 size_t offset = 6;
3171 if (routerHash)
3172 {
3173 memcpy (buf + offset, routerHash, 32); // router hash
3174 offset += 32;
3175 }
3176 memcpy (buf + offset, signedData, signedDataLen);
3177 return payloadSize + 3;
3178 }
3179
3180 size_t SSU2Session::CreatePeerTestBlock (uint8_t * buf, size_t len, uint32_t nonce)
3181 {

Callers

nothing calls this directly

Calls 8

htobe16bufFunction · 0.85
LogPrintFunction · 0.85
GetSecondsSinceEpochFunction · 0.85
htobe32bufFunction · 0.85
InsertMethod · 0.45
SignMethod · 0.45
GetSignatureLenMethod · 0.45
GetIdentityMethod · 0.45

Tested by

no test coverage detected