/***************************************************************************
- * Copyright (C) 2005-2014 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QDateTime>
+#include "compressor.h"
#include "peer.h"
#include "protocol.h"
#include "signalproxy.h"
-class QTcpSocket;
class QTimer;
class AuthHandler;
using Peer::handle;
using Peer::dispatch;
- RemotePeer(AuthHandler *authHandler, QTcpSocket *socket, QObject *parent = 0);
+ RemotePeer(AuthHandler *authHandler, QTcpSocket *socket, Compressor::CompressionLevel level, QObject *parent = 0);
void setSignalProxy(SignalProxy *proxy);
- virtual Protocol::Type protocol() const = 0;
virtual QString protocolName() const = 0;
virtual QString description() const;
virtual quint16 enabledFeatures() const { return 0; }
+ virtual QString address() const;
+ virtual quint16 port() const;
+
bool isOpen() const;
bool isSecure() const;
bool isLocal() const;
private slots:
void onReadyRead();
+ void onCompressionError(Compressor::Error error);
void sendHeartBeat();
void changeHeartBeatInterval(int secs);
private:
QTcpSocket *_socket;
+ Compressor *_compressor;
SignalProxy *_signalProxy;
QTimer *_heartBeatTimer;
int _heartBeatCount;