#ifndef DATASTREAMPEER_H
#define DATASTREAMPEER_H
-#include <QDataStream>
-
#include "../../remotepeer.h"
class QDataStream;
HeartBeatReply
};
- DataStreamPeer(AuthHandler *authHandler, QTcpSocket *socket, quint16 features, QObject *parent = 0);
+ DataStreamPeer(AuthHandler *authHandler, QTcpSocket *socket, quint16 features, Compressor::CompressionLevel level, QObject *parent = 0);
Protocol::Type protocol() const { return Protocol::DataStreamProtocol; }
+ QString protocolName() const { return "the DataStream protocol"; }
static quint16 supportedFeatures();
static bool acceptsFeatures(quint16 peerFeatures);
quint16 enabledFeatures() const;
- void setSignalProxy(SignalProxy *proxy);
-
void dispatch(const Protocol::RegisterClient &msg);
void dispatch(const Protocol::ClientDenied &msg);
void dispatch(const Protocol::ClientRegistered &msg);
signals:
void protocolError(const QString &errorString);
- // only used in compat mode
- void protocolVersionMismatch(int actual, int expected);
-
-protected slots:
- void onSocketDataAvailable();
-
private:
- bool readSocketData(QVariant &item);
- void writeSocketData(const QVariant &item);
- void handleHandshakeMessage(const QVariant &msg);
- void handlePackedFunc(const QVariant &packedFunc);
- void dispatchPackedFunc(const QVariantList &packedFunc);
+ using RemotePeer::writeMessage;
+ void writeMessage(const QVariantMap &handshakeMsg);
+ void writeMessage(const QVariantList &sigProxyMsg);
+ void processMessage(const QByteArray &msg);
- QDataStream _stream;
- quint32 _blockSize;
- bool _useCompression;
+ void handleHandshakeMessage(const QVariantList &mapData);
+ void handlePackedFunc(const QVariantList &packedFunc);
+ void dispatchPackedFunc(const QVariantList &packedFunc);
};
#endif