Tag-Beschreibung karabiner
Um das senden einer NetMsgType::PING
- Nachricht eines Knotens pnode
, die wir einfach aufrufen der Funktion pnode->PushMessage(NetMsgType::PING)
in src/main.cpp
Dies übersetzt sich in folgende Logik in src/net.h
:
void PushMessage(const char* pszCommand)
{
versuchen
{
BeginMessage(pszCommand);
EndMessage(pszCommand);
}
catch (...)
{
AbortMessage();
werfen;
}
}
Wenn wir genau hinschauen, die BeginMessage
und EndMessage
sind nur für den Erwerb und die Freigabe der Sperre. Wo genau ist der PING
immer an die anderen Knoten? Ich denke, die Arbeit ist ähnlich wie bei anderen Nachrichten-Typen, aber die überladene Funktion PushMessage
können einen Datenstrom, den ich Schätze, hat die übergabe der benötigten Knoten. Aber bin ich besonders ratlos über Fälle wie NetMsgType::GETADDR
, NetMsgType::VERACK
und die alte version ohne nonce von NetMsgType::PING
, wo es nur den Befehl string pszCommand
übergeben