class documentation

class Service(service.Service): (source)

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

View In Hierarchy

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

Inherited from Service:

Method __getstate__ Undocumented
Method disownServiceParent Use this API to remove an IService from an IServiceCollection.
Method privilegedStartService Do preparation work for starting the service.
Method setName Set the name of the service.
Method setServiceParent Set the parent of the service. This method is responsible for setting the parent attribute on this service (the child service).
Method startService Start the service.
Method stopService 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).