t.w.p.j.x.XmlStream(xmlstream.XmlStream) : class documentation

Part of twisted.words.protocols.jabber.xmlstream View Source View In Hierarchy

XMPP XML Stream protocol handler.
Instance Variable version XML stream version as a tuple (major, minor). Initially, this is set to the minimally supported version. Upon receiving the stream header of the peer, it is set to the minimum of that value and the version on the received header. (type: (int, int))
Instance Variable namespace default namespace URI for stream (type: unicode)
Instance Variable thisEntity JID of this entity (type: JID)
Instance Variable otherEntity JID of the peer entity (type: JID)
Instance Variable sid session identifier (type: unicode)
Instance Variable initiating True if this is the initiating stream (type: bool)
Instance Variable features map of (uri, name) to stream features element received from the receiving entity. (type: dict of (unicode, unicode) to domish.Element.)
Instance Variable prefixes map of URI to prefixes that are to appear on stream header. (type: dict of unicode to unicode)
Instance Variable initializers list of stream initializer objects (type: list of objects that provide IInitializer)
Instance Variable authenticator associated authenticator that uses initializers to initialize the XML stream.
Method __init__ Undocumented
Method reset Reset XML Stream.
Method onStreamError Called when a stream:error element has been received.
Method sendHeader Send stream header.
Method sendFooter Send stream footer.
Method sendStreamError Send stream level error.
Method send Send data over the stream.
Method connectionMade Called when a connection is made.
Method onDocumentStart Called when the stream header has been received.
Method _callLater Undocumented

Inherited from XmlStream:

Method dataReceived Called whenever data is received.
Method connectionLost Called when the connection is shut down.
Method onElement Called whenever a direct child element of the root element has been received.
Method onDocumentEnd Called whenever the end tag of the root element has been received.
Method setDispatchFn Set another function to handle elements.
Method resetDispatchFn Set the default function (onElement) to handle elements.
Method _initializeStream Sets up XML Parser.

Inherited from Protocol (via XmlStream):

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.

Inherited from BaseProtocol (via XmlStream, Protocol):

Method makeConnection Make a connection to a transport and a server.

Inherited from EventDispatcher (via XmlStream):

Method addOnetimeObserver Register a one-time observer for an event.
Method addObserver Register an observer for an event.
Method removeObserver Remove callable as observer for an event.
Method dispatch Dispatch an event.
Method _getEventAndObservers Undocumented
Method _addObserver Undocumented
version =
XML stream version as a tuple (major, minor). Initially, this is set to the minimally supported version. Upon receiving the stream header of the peer, it is set to the minimum of that value and the version on the received header. (type: (int, int))
namespace =
default namespace URI for stream (type: unicode)
thisEntity =
JID of this entity (type: JID)
otherEntity =
JID of the peer entity (type: JID)
sid =
session identifier (type: unicode)
initiating =
True if this is the initiating stream (type: bool)
features =
map of (uri, name) to stream features element received from the receiving entity. (type: dict of (unicode, unicode) to domish.Element.)
prefixes =
map of URI to prefixes that are to appear on stream header. (type: dict of unicode to unicode)
initializers =
list of stream initializer objects (type: list of objects that provide IInitializer)
authenticator =
associated authenticator that uses initializers to initialize the XML stream.
def __init__(self, authenticator): (source)
Undocumented
def _callLater(self, *args, **kwargs): (source)
Undocumented
def reset(self): (source)
Reset XML Stream.

Resets the XML Parser for incoming data. This is to be used after successfully negotiating a new layer, e.g. TLS and SASL. Note that registered event observers will continue to be in place.

def onStreamError(self, errelem): (source)
Called when a stream:error element has been received.

Dispatches a STREAM_ERROR_EVENT event with the error element to allow for cleanup actions and drops the connection.

ParameterserrelemThe received error element. (type: domish.Element)
def sendHeader(self): (source)
Send stream header.
def sendFooter(self): (source)
Send stream footer.
def sendStreamError(self, streamError): (source)
Send stream level error.

If we are the receiving entity, and haven't sent the header yet, we sent one first.

After sending the stream error, the stream is closed and the transport connection dropped.

ParametersstreamErrorstream error instance (type: error.StreamError)
def send(self, obj): (source)
Send data over the stream.

This overrides xmlstream.Xmlstream.send to use the default namespace of the stream header when serializing domish.IElements. It is assumed that if you pass an object that provides domish.IElement, it represents a direct child of the stream's root element.

def connectionMade(self): (source)
Called when a connection is made.

Notifies the authenticator when a connection has been made.

def onDocumentStart(self, rootElement): (source)
Called when the stream header has been received.

Extracts the header's id and version attributes from the root element. The id attribute is stored in our sid attribute and the version attribute is parsed and the minimum of the version we sent and the parsed version attribute is stored as a tuple (major, minor) in this class' version attribute. If no version attribute was present, we assume version 0.0.

If appropriate (we are the initiating stream and the minimum of our and the other party's version is at least 1.0), a one-time observer is registered for getting the stream features. The registered function is onFeatures.

Ultimately, the authenticator's streamStarted method will be called.

ParametersrootElementThe root element. (type: domish.Element)
API Documentation for Twisted, generated by pydoctor at 2013-11-08 22:07:30.