X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpeer.cpp;h=c076806f3c3d3eca134055de859baf29381716cc;hb=d3dcda30c8cbee75c0c8f500f4ab552bde513036;hp=14041597310464ccbe619cfa3ca2b58e4ce72c0f;hpb=b65b9f7615165e8700a44d59b7275a55558dd45b;p=quassel.git diff --git a/src/common/peer.cpp b/src/common/peer.cpp index 14041597..c076806f 100644 --- a/src/common/peer.cpp +++ b/src/common/peer.cpp @@ -32,3 +32,25 @@ AuthHandler *Peer::authHandler() const { return _authHandler; } + + +// PeerPtr is used in RPC signatures for enabling receivers to send replies +// to a particular peer rather than broadcast to all connected ones. +// To enable this, the SignalProxy transparently replaces the bogus value +// received over the network with the actual address of the local Peer +// instance. Because the actual value isn't needed on the wire, it is +// serialized as null. +QDataStream &operator<<(QDataStream &out, PeerPtr ptr) +{ + Q_UNUSED(ptr); + out << static_cast(0); // 64 bit for historic reasons + return out; +} + +QDataStream &operator>>(QDataStream &in, PeerPtr &ptr) +{ + ptr = nullptr; + quint64 value; + in >> value; + return in; +}