public final class CompressionManager extends ClientStreamFeatureNegotiator<CompressionFeature>
Manages stream compression as described in XEP-0138: Stream Compression.
If you enable this manager, stream compression will be used, if available. Note that stream compression should not be used, when you use TLS.XMPP Core [1] specifies the use of Transport Layer Security (TLS; see RFC 5246 [2]) for encryption of XML streams, and TLS includes the ability to compress encrypted traffic (see RFC 3749 [3]). However, not all computing platforms are able to implement TLS, and traffic compression may be desirable for communication by applications on such computing platforms. This document defines a mechanism for negotiating the compression of XML streams outside the context of TLS.
Constructor and Description |
---|
CompressionManager(XmppSession xmppSession,
TcpBinding tcpBinding) |
Modifier and Type | Method and Description |
---|---|
boolean |
canProcess(java.lang.Object element)
Checks, whether the element can be processed by the feature negotiator.
|
java.util.List<CompressionMethod> |
getConfiguredCompressionMethods()
Gets the configured compression methods.
|
CompressionMethod |
getNegotiatedCompressionMethod()
Gets the negotiated compression method.
|
StreamNegotiationResult |
processNegotiation(java.lang.Object element)
Processes a feature protocol element or the feature element itself.
|
getFeatureClass
isEnabled, setEnabled
public CompressionManager(XmppSession xmppSession, TcpBinding tcpBinding)
public final StreamNegotiationResult processNegotiation(java.lang.Object element) throws StreamNegotiationException
StreamFeatureNegotiator
Processes a feature protocol element or the feature element itself.
element
- The XML element, which belongs to the feature negotiation, e.g. <challenge/>
for SASL negotiation or the feature element itself, e.g. <mechanisms/>
.StreamNegotiationException
- Any exception which might be thrown during a feature negotiation.public final boolean canProcess(java.lang.Object element)
StreamFeatureNegotiator
Checks, whether the element can be processed by the feature negotiator.
element
- The feature protocol element, e.g. <challenge/>
. The element is never the feature element itself, e.g. <mechanisms/>
, which is advertised in the <stream:features/>
element.public final CompressionMethod getNegotiatedCompressionMethod()
Gets the negotiated compression method.
public final java.util.List<CompressionMethod> getConfiguredCompressionMethods()
Gets the configured compression methods.
Copyright © 2014–2019 XMPP.rocks. All rights reserved.