remove _c2, no longer need it
This commit is contained in:
		
							parent
							
								
									9a2d992815
								
							
						
					
					
						commit
						e22657cf4b
					
				
							
								
								
									
										131
									
								
								_c2.py
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								_c2.py
									
									
									
									
									
								
							|  | @ -1,131 +0,0 @@ | ||||||
| from six.moves.urllib_parse import urlparse |  | ||||||
| from twisted.internet import defer, reactor |  | ||||||
| from ._machine import Machine |  | ||||||
| 
 |  | ||||||
| class ConnectionMachine: |  | ||||||
|     def __init__(self, ws_url): |  | ||||||
|         self._ws_url = ws_url |  | ||||||
|         #self._f = f = WSFactory(self._ws_url) |  | ||||||
|         #f.setProtocolOptions(autoPingInterval=60, autoPingTimeout=600) |  | ||||||
|         #f.connection_machine = self # calls onOpen and onClose |  | ||||||
|         p = urlparse(self._ws_url) |  | ||||||
|         self._ep = self._make_endpoint(p.hostname, p.port or 80) |  | ||||||
|         self._connector = None |  | ||||||
|         self._done_d = defer.Deferred() |  | ||||||
| 
 |  | ||||||
|     def _make_endpoint(self, hostname, port): |  | ||||||
|         return None |  | ||||||
| 
 |  | ||||||
|     # "@action" marks a method as doing something, then moving to a state or |  | ||||||
|     # another action. "=State()" marks a state, where we want for an event. |  | ||||||
|     # "=Event()" marks an event, which causes us to move out of a state, |  | ||||||
|     # through zero or more actions, and eventually landing in some other |  | ||||||
|     # state. |  | ||||||
| 
 |  | ||||||
|     m = Machine() |  | ||||||
|     starting = m.State("starting", initial=True, color="orange") |  | ||||||
|     connecting = m.State("connecting", color="orange") |  | ||||||
|     negotiating = m.State("negotiating", color="orange") |  | ||||||
|     open = m.State("open", color="green") |  | ||||||
|     waiting = m.State("waiting", color="blue") |  | ||||||
|     reconnecting = m.State("reconnecting", color="blue") |  | ||||||
|     disconnecting = m.State("disconnecting", color="orange") |  | ||||||
|     cancelling = m.State("cancelling") |  | ||||||
|     stopped = m.State("stopped", color="orange") |  | ||||||
| 
 |  | ||||||
|     CM_start = m.Event("CM_start") |  | ||||||
|     d_callback = m.Event("d_callback") |  | ||||||
|     d_errback = m.Event("d_errback") |  | ||||||
|     onOpen = m.Event("onOpen") |  | ||||||
|     onClose = m.Event("onClose") |  | ||||||
|     stop = m.Event("stop") |  | ||||||
|     expire = m.Event("expire") |  | ||||||
| 
 |  | ||||||
|     @m.action(color="orange") |  | ||||||
|     def connect1(self): |  | ||||||
|         d = self._ep.connect() |  | ||||||
|         d.addCallbacks(self.c1_d_callback, self.c1_d_errback) |  | ||||||
|     @m.action(color="red") |  | ||||||
|     def notify_fail(self, ARGS): |  | ||||||
|         self._done_d.errback("ERR") |  | ||||||
|     @m.action(color="orange") |  | ||||||
|     def opened(self): |  | ||||||
|         self._p.send("bind") |  | ||||||
|         self._M.connected() |  | ||||||
|     @m.action() |  | ||||||
|     def dropConnectionWhileNegotiating(self): |  | ||||||
|         self._p.dropConnection() |  | ||||||
|     @m.action(color="orange") |  | ||||||
|     def dropOpenConnection(self): |  | ||||||
|         self._p.dropOpenConnection() |  | ||||||
|         self._M.lost() |  | ||||||
|     @m.action(color="blue") |  | ||||||
|     def lostConnection(self): |  | ||||||
|         self._M.lost() |  | ||||||
|     @m.action(color="blue") |  | ||||||
|     def start_timer(self): |  | ||||||
|         self._timer = reactor.callLater(self._timeout, self.expire) |  | ||||||
|     @m.action(color="blue") |  | ||||||
|     def reconnect(self): |  | ||||||
|         d = self._ep.connect() |  | ||||||
|         d.addCallbacks(self.c1_d_callback, self.c1_d_errback) |  | ||||||
|     @m.action(color="blue") |  | ||||||
|     def reset_timer(self): |  | ||||||
|         self._timeout = self.INITIAL_TIMEOUT |  | ||||||
|     @m.action() |  | ||||||
|     def cancel_timer(self): |  | ||||||
|         self._timer.cancel() |  | ||||||
|     @m.action() |  | ||||||
|     def d_cancel(self): |  | ||||||
|         self._d.cancel() |  | ||||||
|     @m.action(color="orange") |  | ||||||
|     def MC_stopped(self): |  | ||||||
|         self.MC.stopped() |  | ||||||
| 
 |  | ||||||
|     def c1_d_callback(self, p): |  | ||||||
|         self.d_callback() |  | ||||||
|     def c1_d_errback(self, f): |  | ||||||
|         self.d_errback() |  | ||||||
|     def p_onClose(self, why): |  | ||||||
|         self.onClose() |  | ||||||
|     def p_onOpen(self): |  | ||||||
|         self.onOpen() |  | ||||||
| 
 |  | ||||||
|     starting.upon(CM_start, goto=connect1, color="orange") |  | ||||||
|     connecting.upon(d_callback, goto=negotiating, color="orange") |  | ||||||
|     connecting.upon(d_errback, goto=notify_fail, color="red") |  | ||||||
|     connecting.upon(onClose, goto=notify_fail, color="red") |  | ||||||
|     connecting.upon(stop, goto=d_cancel) |  | ||||||
|     negotiating.upon(onOpen, goto=opened, color="orange") |  | ||||||
|     negotiating.upon(onClose, goto=notify_fail, color="red") |  | ||||||
|     negotiating.upon(stop, goto=dropConnectionWhileNegotiating) |  | ||||||
|     open.upon(onClose, goto=lostConnection, color="blue") |  | ||||||
|     open.upon(stop, goto=dropOpenConnection, color="orange") |  | ||||||
|     waiting.upon(expire, goto=reconnect, color="blue") |  | ||||||
|     waiting.upon(stop, goto=cancel_timer) |  | ||||||
|     reconnecting.upon(d_callback, goto=reset_timer, color="blue") |  | ||||||
|     reconnecting.upon(d_errback, goto=start_timer) |  | ||||||
|     reconnecting.upon(stop, goto=d_cancel) |  | ||||||
|     disconnecting.upon(onClose, goto=MC_stopped, color="orange") |  | ||||||
|     cancelling.upon(d_errback, goto=MC_stopped) |  | ||||||
| 
 |  | ||||||
|     connect1.goto(connecting, color="orange") |  | ||||||
|     notify_fail.goto(MC_stopped, color="red") |  | ||||||
|     opened.goto(open, color="orange") |  | ||||||
|     dropConnectionWhileNegotiating.goto(disconnecting) |  | ||||||
|     dropOpenConnection.goto(disconnecting, color="orange") |  | ||||||
|     lostConnection.goto(start_timer, color="blue") |  | ||||||
|     start_timer.goto(waiting, color="blue") |  | ||||||
|     reconnect.goto(reconnecting, color="blue") |  | ||||||
|     reset_timer.goto(negotiating, color="blue") |  | ||||||
|     cancel_timer.goto(MC_stopped) |  | ||||||
|     d_cancel.goto(cancelling) |  | ||||||
|     MC_stopped.goto(stopped, color="orange") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| CM = ConnectionMachine("ws://host") |  | ||||||
| #CM.CM_start() |  | ||||||
| 
 |  | ||||||
| if __name__ == "__main__": |  | ||||||
|     import sys |  | ||||||
|     CM.m._dump_dot(sys.stdout) |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user