/***************************************************************************
- * Copyright (C) 2005-2014 by the Quassel Project *
+ * Copyright (C) 2005-2015 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#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);
signals:
void protocolError(const QString &errorString);
-protected slots:
- void onSocketDataAvailable();
-
private:
- bool readSocketData(QByteArray &data);
- void writeSocketData(const QVariantList &list);
- void writeSocketData(const QVariantMap &handshakeMsg);
+ using RemotePeer::writeMessage;
+ void writeMessage(const QVariantMap &handshakeMsg);
+ void writeMessage(const QVariantList &sigProxyMsg);
+ void processMessage(const QByteArray &msg);
void handleHandshakeMessage(const QVariantList &mapData);
void handlePackedFunc(const QVariantList &packedFunc);
void dispatchPackedFunc(const QVariantList &packedFunc);
-
- QDataStream _stream;
- quint32 _blockSize;
};
#endif