当前位置: 首页>>代码示例>>Python>>正文


Python Dispatcher.add方法代码示例

本文整理汇总了Python中iron.dispatcher.Dispatcher.add方法的典型用法代码示例。如果您正苦于以下问题:Python Dispatcher.add方法的具体用法?Python Dispatcher.add怎么用?Python Dispatcher.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在iron.dispatcher.Dispatcher的用法示例。


在下文中一共展示了Dispatcher.add方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: runTest

# 需要导入模块: from iron.dispatcher import Dispatcher [as 别名]
# 或者: from iron.dispatcher.Dispatcher import add [as 别名]
    def runTest( self ):
        c = Context( 'Root' )
        c.start()

        o0 = self.TestObj()
        Dispatcher.add( obj=o0, parentObj=None, context=c )

        o1 = self.TestObj()
        Dispatcher.add( obj=o1, parentObj=None, context=c )
        Dispatcher.addListener( srcObj=o1, dstObj=o0 )

        Dispatcher.send( event=Event( '1' ), srcObj=o0, dstObj=o1 )
        assert( str(o1.lastHandler) == 'on1' )

        Dispatcher.queue( event=Event( '2' ), srcObj=o0, dstObj=o1 )
        #assert( str(o1.lastHandler) == 'on2' )

        Dispatcher.send( event=Event( '3' ), srcObj=o0, dstObj=o1 )
        #assert( str(o1.lastHandler) == 'on3' )

        Dispatcher.notify( event=Event( '4' ), srcObj=o1 )
        #assert( str(o1.lastHandler) == 'on4' )
        Dispatcher.notify( event=Event( '4' ), srcObj=o1 )
        #assert( str(o1.lastHandler) == 'on4' )

        c.stop()
开发者ID:,项目名称:,代码行数:28,代码来源:

示例2: runTest

# 需要导入模块: from iron.dispatcher import Dispatcher [as 别名]
# 或者: from iron.dispatcher.Dispatcher import add [as 别名]
	def runTest( self ):
		c = Context( 'Root' )
		c.start()

		l = TestListener()
		Dispatcher.add( l, context = c )

		config = TestConfiguration()

		e = NetEvent( NetEvent.EVENT_BIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )

		o = TcpBinding( e )
		Dispatcher.add( o, context=c )
		Dispatcher.addListener( o, l )
		o.addConfiguration( config )

		e = NetEvent( NetEvent.EVENT_BIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		packet = '' \
'REGISTER sip:sip.example.com SIP/2.0\r\n' \
'Via: SIP/2.0/UDP 192.168.1.1:5060;rport;branch=z9hG4bK58790139-438475846\r\n' \
'Max-Forwards: 70\r\n' \
'Allow: INVITE,BYE,CANCEL,ACK,INFO,PRACK,OPTIONS,SUBSCRIBE,NOTIFY,PUBLISH,MESSAGE,REFER,REGISTER,UPDATE\r\n' \
'Supported: path,replaces,norefersub\r\n' \
'User-Agent: IMS Phone 49\r\n' \
'From: <sip:[email protected]>;tag=UA_58790139-438475847\r\n' \
'To: <sip:[email protected]>\r\n' \
'Call-ID: 58790139-438475845\r\n' \
'CSeq: 1 REGISTER\r\n' \
'Expires: 3600\r\n' \
'Contact: 1<sip:[email protected]:5060;transport=tcp>;expires=3600\r\n' \
'Authorization: Digest username="1",realm="sip.example.com",nonce="",uri="sip:sip.example.com",response=""\r\n' \
'Content-Length: 0\r\n' \
'\r\n'

		e = NetEvent( BindingBase.EVENT_QUEUE, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ), packet=packet )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( BindingBase.EVENT_WRITE, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( BindingBase.EVENT_READ, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ), remoteAddress=config.query( 'network.remoteAddress' ), remotePort=config.query( 'network.remotePort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		e = NetEvent( NetEvent.EVENT_UNBIND, transport='tcp', localAddress=config.query( 'network.localAddress' ), localPort=config.query( 'network.localPort' ) )
		Dispatcher.send( e, srcObj=l, dstObj=o )
		sleep( config.query( 'test.timeout' ) )

		c.stop()
开发者ID:CaveMike,项目名称:mercury,代码行数:56,代码来源:test_tcp_binding.py

示例3: onBind

# 需要导入模块: from iron.dispatcher import Dispatcher [as 别名]
# 或者: from iron.dispatcher.Dispatcher import add [as 别名]
	def onBind( self, event ):
		name = str(event.transport) + ':' + str(event.localAddress) + ':' + str(event.localPort)
		binding = Binding( event )
		Dispatcher.add( binding, parentObj=self )
		Dispatcher.addListener( binding, self )

		name = Network.getBindingName( event.transport, event.localAddress, event.localPort )
		self.bindings[name] = binding

		Dispatcher.send( event, srcObj=self, dstObj=binding )

		if not self.__thread:
			self.__thread = Thread( None, self.run )
			self.__thread.start()
开发者ID:CaveMike,项目名称:mercury,代码行数:16,代码来源:network.py

示例4: accept

# 需要导入模块: from iron.dispatcher import Dispatcher [as 别名]
# 或者: from iron.dispatcher.Dispatcher import add [as 别名]
	def accept( self ):
		if self.socket:
			(newSocket, remote) = self.socket.accept()

			connection = TcpConnection( self.transport, self.localAddress, self.localPort, remoteAddress=remote[0], remotePort=remote[1], csocket=newSocket )
			Dispatcher.add( connection, parentObj=self )
			Dispatcher.addListener( connection, self )

			name = Network.getBindingName( connection.transport, connection.remoteAddress, connection.remotePort )
			self.connections[name] = connection

			# Send the TCP connection's connected notification to ourselves.
			# This is a work-around, since we are constructing the connection in the connected state and
			# we do not want to send the event in the TCP connection's constructor.
			newEvent = NetEvent( NetEvent.EVENT_CONNECTED, connection.transport, connection.localAddress, connection.localPort, connection.remoteAddress, connection.remotePort, connection=connection )
			Dispatcher.send( newEvent, srcObj=self, dstObj=self )
开发者ID:CaveMike,项目名称:mercury,代码行数:18,代码来源:tcp_binding.py

示例5: inBound_onQueue

# 需要导入模块: from iron.dispatcher import Dispatcher [as 别名]
# 或者: from iron.dispatcher.Dispatcher import add [as 别名]
	def inBound_onQueue( self, event ):
		if not event.connection:
			if ( event.localAddress != self.localAddress ) or ( event.localPort != self.localPort ):
				# This is not our binding.
				return

			# Let the network layer choose the local port.
			event.localPort = 0

			# Create a new connection and queue the event in the connection.
			connection = TcpConnection( event.transport, event.localAddress, event.localPort, event.remoteAddress, event.remotePort )
			Dispatcher.add( connection, parentObj=self )
			Dispatcher.addListener( connection, self )

			name = Network.getBindingName( connection.transport, connection.remoteAddress, connection.remotePort )
			self.connections[name] = connection

		Dispatcher.send( event, srcObj=self, dstObj=connection )
开发者ID:CaveMike,项目名称:mercury,代码行数:20,代码来源:tcp_binding.py


注:本文中的iron.dispatcher.Dispatcher.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。