X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fprotocols%2Fdatastream%2Fdatastreampeer.h;h=b5f931c05234764a1bc8a4df6ac96f517f49f3ee;hb=HEAD;hp=6f8a66c53289176327ca248c77c4f7044979fa0e;hpb=89aa3d278f7b5fac996f0b9480737e5932d54c41;p=quassel.git diff --git a/src/common/protocols/datastream/datastreampeer.h b/src/common/protocols/datastream/datastreampeer.h index 6f8a66c5..b5f931c0 100644 --- a/src/common/protocols/datastream/datastreampeer.h +++ b/src/common/protocols/datastream/datastreampeer.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,8 +21,6 @@ #ifndef DATASTREAMPEER_H #define DATASTREAMPEER_H -#include - #include "../../remotepeer.h" class QDataStream; @@ -32,7 +30,8 @@ class DataStreamPeer : public RemotePeer Q_OBJECT public: - enum RequestType { + enum RequestType + { Sync = 1, RpcCall, InitRequest, @@ -41,50 +40,46 @@ public: HeartBeatReply }; - DataStreamPeer(AuthHandler *authHandler, QTcpSocket *socket, quint16 features, QObject *parent = 0); + DataStreamPeer(AuthHandler* authHandler, QTcpSocket* socket, quint16 features, Compressor::CompressionLevel level, QObject* parent = nullptr); - Protocol::Type protocol() const { return Protocol::DataStreamProtocol; } + Protocol::Type protocol() const override { return Protocol::DataStreamProtocol; } + QString protocolName() const override { return "the DataStream protocol"; } static quint16 supportedFeatures(); static bool acceptsFeatures(quint16 peerFeatures); - quint16 enabledFeatures() const; - - void dispatch(const Protocol::RegisterClient &msg); - void dispatch(const Protocol::ClientDenied &msg); - void dispatch(const Protocol::ClientRegistered &msg); - void dispatch(const Protocol::SetupData &msg); - void dispatch(const Protocol::SetupFailed &msg); - void dispatch(const Protocol::SetupDone &msg); - void dispatch(const Protocol::Login &msg); - void dispatch(const Protocol::LoginFailed &msg); - void dispatch(const Protocol::LoginSuccess &msg); - void dispatch(const Protocol::SessionState &msg); - - void dispatch(const Protocol::SyncMessage &msg); - void dispatch(const Protocol::RpcCall &msg); - void dispatch(const Protocol::InitRequest &msg); - void dispatch(const Protocol::InitData &msg); - - void dispatch(const Protocol::HeartBeat &msg); - void dispatch(const Protocol::HeartBeatReply &msg); + quint16 enabledFeatures() const override; + + void dispatch(const Protocol::RegisterClient& msg) override; + void dispatch(const Protocol::ClientDenied& msg) override; + void dispatch(const Protocol::ClientRegistered& msg) override; + void dispatch(const Protocol::SetupData& msg) override; + void dispatch(const Protocol::SetupFailed& msg) override; + void dispatch(const Protocol::SetupDone& msg) override; + void dispatch(const Protocol::Login& msg) override; + void dispatch(const Protocol::LoginFailed& msg) override; + void dispatch(const Protocol::LoginSuccess& msg) override; + void dispatch(const Protocol::SessionState& msg) override; + + void dispatch(const Protocol::SyncMessage& msg) override; + void dispatch(const Protocol::RpcCall& msg) override; + void dispatch(const Protocol::InitRequest& msg) override; + void dispatch(const Protocol::InitData& msg) override; + + void dispatch(const Protocol::HeartBeat& msg) override; + void dispatch(const Protocol::HeartBeatReply& msg) override; signals: - void protocolError(const QString &errorString); - -protected slots: - void onSocketDataAvailable(); + void protocolError(const QString& errorString); private: - bool readSocketData(QByteArray &data); - void writeSocketData(const QVariantList &list); - void writeSocketData(const QVariantMap &handshakeMsg); - - void handleHandshakeMessage(const QVariantList &mapData); - void handlePackedFunc(const QVariantList &packedFunc); - void dispatchPackedFunc(const QVariantList &packedFunc); - - QDataStream _stream; - quint32 _blockSize; + using RemotePeer::writeMessage; + void writeMessage(const QVariantMap& handshakeMsg); + void writeMessage(const QVariantList& sigProxyMsg); + void processMessage(const QByteArray& msg) override; + + void handleHandshakeMessage(const QVariantList& mapData); + void handlePackedFunc(const QVariantList& packedFunc); + void dispatchPackedFunc(const QVariantList& packedFunc); }; #endif