示例#1
0
 def dispatch_message(self, session, message):
     identity = ChatIdentity.parse(format_identity(session.remote_identity))
     for s in (s for s in self.sessions if s is not session):
         try:
             chat_stream = next(stream for stream in s.streams if stream.type == 'chat')
         except StopIteration:
             pass
         else:
             chat_stream.send_message(message.content, message.content_type, sender=identity, recipients=[self.identity], timestamp=message.timestamp)
示例#2
0
 def __init__(self, uri):
     self.uri = uri
     self.identity = ChatIdentity.parse('<sip:%s>' % self.uri)
     self.sessions = []
     self.sessions_with_proposals = []
     self.subscriptions = []
     self.pending_messages = []
     self.state = 'stopped'
     self.incoming_message_queue = coros.queue()
     self.message_dispatcher = None
     self.audio_conference = None
     self.conference_info_payload = None
     self.conference_info_version = count(1)
     self.irc_connector = None
     self.irc_protocol = None