Go to the latest version of this document.

# ``twisted`.`words`.`iwords`.`IGroup``

interface documentation

`class IGroup(Interface): (source)`

Known implementations: `twisted.words.service.Group`, `twisted.words.service.PBGroupReference`

View In Hierarchy

Undocumented

Method | `add` | Include the given user in this group.
Method | `iterusers` | Return an iterator of all users in this group.
Method | `receive` | Broadcast the given message from the given sender to other users in group.
Method | `remove` | Remove the given user from this group.
Method | `setMetadata` | Change the metadata associated with this group.
Method | `size` | Return the number of participants in this group.
Attribute | `name` | A short string, unique among groups.

def add(user): (source)

Include the given user in this group.

Parameters
user:`IUser` | Undocumented

def iterusers(): (source)

Return an iterator of all users in this group.

def receive(sender, recipient, message): (source)

Broadcast the given message from the given sender to other users in group.

The message is not re-transmitted to the sender.

Parameters
sender | `IUser`
recipient:`IGroup` | This is probably a wart. Maybe it will be removed in the future. For now, it should be the group object the message is being delivered to.
message | `dict`

Returns
`twisted.internet.defer.Deferred` | A Deferred which fires with None when delivery has been attempted for all users.

def remove(user, reason=None): (source)

Remove the given user from this group.

Parameters
user:`IUser` | Undocumented
reason:`unicode` | Undocumented

def setMetadata(meta): (source)

Change the metadata associated with this group.

Parameters
meta:`dict` | Undocumented

def size(): (source)

Return the number of participants in this group.

Returns
`twisted.internet.defer.Deferred` | A Deferred which fires with an `int` representing the number of participants in this group.

name = (source)

A short string, unique among groups.