class documentation

class Service(service.Service): (source)

Implements interfaces: twisted.words.protocols.jabber.ijabber.IService

View In Hierarchy

External server-side component service.
Method component​Connected Parent component has established a connection.
Method component​Disconnected Parent component has lost the connection to the Jabber server.
Method send Send data over service parent's XML stream.
Method transport​Connected Parent component has established a connection over the underlying transport.

Inherited from Service:

Method __getstate__ Undocumented
Method disown​Service​Parent Use this API to remove an IService from an IServiceCollection.
Method privileged​Start​Service Do preparation work for starting the service.
Method set​Name Set the name of the service.
Method set​Service​Parent Set the parent of the service. This method is responsible for setting the parent attribute on this service (the child service).
Method start​Service Start the service.
Method stop​Service Stop the service.
Instance Variable name A str which is the name of the service or None.
Instance Variable parent An IServiceCollection which is the parent or None.
Instance Variable running A boolean which indicates whether the service is running.
def componentConnected(self, xs): (source)

Parent component has established a connection.

At this point, authentication was successful, and XML stanzas can be exchanged over the XML stream xs. This method can be used to setup observers for incoming stanzas.

Parameters
xs:xmlstream.XmlStreamXML Stream that represents the established connection.
def componentDisconnected(self): (source)

Parent component has lost the connection to the Jabber server.

Subsequent use of self.parent.send will result in data being queued until a new connection has been established.

def send(self, obj): (source)
Send data over service parent's XML stream.
Parameters
objdata to be sent over the XML stream. This is usually an object providing domish.IElement, or serialized XML. See xmlstream.XmlStream for details.
Note
ServiceManager maintains a queue for data sent using this method when there is no current established XML stream. This data is then sent as soon as a new stream has been established and initialized. Subsequently, componentConnected will be called again. If this queueing is not desired, use send on the XmlStream object (passed to componentConnected) directly.
def transportConnected(self, xs): (source)

Parent component has established a connection over the underlying transport.

At this point, no traffic has been exchanged over the XML stream. This method can be used to change properties of the XML Stream (in xs), the service manager or it's authenticator prior to stream initialization (including authentication).