diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-11-25 19:19:28 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-11-25 19:20:53 (GMT) | 
| commit | db00adc9810377500e6ab27900b29496a0d05afe (patch) | |
| tree | 0f13d821883e0e99e9b6e7f15c84e3371375cd96 /Swiften/Session | |
| parent | c198064db0a6444a24220eee65cbf747eb7fbfb0 (diff) | |
| download | swift-db00adc9810377500e6ab27900b29496a0d05afe.zip swift-db00adc9810377500e6ab27900b29496a0d05afe.tar.bz2  | |
Enabled stream compression again.
Diffstat (limited to 'Swiften/Session')
| -rw-r--r-- | Swiften/Session/BasicSessionStream.cpp | 6 | ||||
| -rw-r--r-- | Swiften/Session/BasicSessionStream.h | 4 | ||||
| -rw-r--r-- | Swiften/Session/SessionStream.h | 2 | 
3 files changed, 12 insertions, 0 deletions
diff --git a/Swiften/Session/BasicSessionStream.cpp b/Swiften/Session/BasicSessionStream.cpp index 0d0f49f..ed7f1eb 100644 --- a/Swiften/Session/BasicSessionStream.cpp +++ b/Swiften/Session/BasicSessionStream.cpp @@ -3,12 +3,13 @@  #include <boost/bind.hpp>  #include "Swiften/StreamStack/XMPPLayer.h"  #include "Swiften/StreamStack/StreamStack.h"  #include "Swiften/StreamStack/ConnectionLayer.h"  #include "Swiften/StreamStack/WhitespacePingLayer.h" +#include "Swiften/StreamStack/CompressionLayer.h"  #include "Swiften/StreamStack/TLSLayer.h"  #include "Swiften/StreamStack/TLSLayerFactory.h"  namespace Swift {  BasicSessionStream::BasicSessionStream(boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, TLSLayerFactory* tlsLayerFactory, TimerFactory* timerFactory) : available(false), connection(connection), payloadParserFactories(payloadParserFactories), payloadSerializers(payloadSerializers), tlsLayerFactory(tlsLayerFactory), timerFactory(timerFactory) { @@ -71,12 +72,17 @@ void BasicSessionStream::addTLSEncryption() {  		tlsLayer->onError.connect(boost::bind(&BasicSessionStream::handleTLSError, shared_from_this()));  		tlsLayer->onConnected.connect(boost::bind(&BasicSessionStream::handleTLSConnected, shared_from_this()));  		tlsLayer->connect();  	}  } +void BasicSessionStream::addZLibCompression() { +	boost::shared_ptr<CompressionLayer> compressionLayer(new CompressionLayer()); +	streamStack->addLayer(compressionLayer); +} +  void BasicSessionStream::setWhitespacePingEnabled(bool enabled) {  	if (enabled) {  		if (!whitespacePingLayer) {  			whitespacePingLayer = boost::shared_ptr<WhitespacePingLayer>(new WhitespacePingLayer(timerFactory));  			streamStack->addLayer(whitespacePingLayer);  		} diff --git a/Swiften/Session/BasicSessionStream.h b/Swiften/Session/BasicSessionStream.h index f36df83..8618458 100644 --- a/Swiften/Session/BasicSessionStream.h +++ b/Swiften/Session/BasicSessionStream.h @@ -13,12 +13,13 @@ namespace Swift {  	class WhitespacePingLayer;  	class PayloadParserFactoryCollection;  	class PayloadSerializerCollection;  	class StreamStack;  	class XMPPLayer;  	class ConnectionLayer; +	class CompressionLayer;  	class BasicSessionStream :   			public SessionStream,   			public boost::enable_shared_from_this<BasicSessionStream> {  		public:  			BasicSessionStream( @@ -35,12 +36,14 @@ namespace Swift {  			virtual bool isAvailable();  			virtual void writeHeader(const ProtocolHeader& header);  			virtual void writeElement(boost::shared_ptr<Element>);  			virtual void writeFooter(); +			virtual void addZLibCompression(); +  			virtual bool supportsTLSEncryption();  			virtual void addTLSEncryption();  			virtual void setWhitespacePingEnabled(bool);  			virtual void resetXMPPParser(); @@ -62,10 +65,11 @@ namespace Swift {  			PayloadSerializerCollection* payloadSerializers;  			TLSLayerFactory* tlsLayerFactory;  			TimerFactory* timerFactory;  			boost::shared_ptr<XMPPLayer> xmppLayer;  			boost::shared_ptr<ConnectionLayer> connectionLayer;  			StreamStack* streamStack; +			boost::shared_ptr<CompressionLayer> compressionLayer;  			boost::shared_ptr<TLSLayer> tlsLayer;  			boost::shared_ptr<WhitespacePingLayer> whitespacePingLayer;  	};  } diff --git a/Swiften/Session/SessionStream.h b/Swiften/Session/SessionStream.h index 1252c5a..8c64ccf 100644 --- a/Swiften/Session/SessionStream.h +++ b/Swiften/Session/SessionStream.h @@ -31,12 +31,14 @@ namespace Swift {  			virtual bool isAvailable() = 0;  			virtual void writeHeader(const ProtocolHeader& header) = 0;  			virtual void writeFooter() = 0;  			virtual void writeElement(boost::shared_ptr<Element>) = 0; +			virtual void addZLibCompression() = 0; +  			virtual bool supportsTLSEncryption() = 0;  			virtual void addTLSEncryption() = 0;  			virtual void setWhitespacePingEnabled(bool enabled) = 0;  			virtual void resetXMPPParser() = 0;  | 
 Swift