On Mon, 27 Jan 2014 11:24:38 +0900 (JST) FUJITA Tomonori <[email protected]> wrote:
> Thanks for reviewing, > > On Mon, 27 Jan 2014 10:10:56 +0900 > Satoshi Kobayashi <[email protected]> wrote: > >>> +from oslo.config import cfg >>> +import socket >>> +import eventlet >>> >> >> Must eventlet be used directly? I feel that it is better to abstract by >> ryu.lib.hub. > > Yeah, I addressed two isseus that you pointed out. The following is a > diff: > > diff --git a/ryu/services/protocols/vrrp/rpc_manager.py > b/ryu/services/protocols/vrrp/rpc_manager.py > index 3aa03b2..0ba15e1 100644 > --- a/ryu/services/protocols/vrrp/rpc_manager.py > +++ b/ryu/services/protocols/vrrp/rpc_manager.py > @@ -15,7 +15,6 @@ > > from oslo.config import cfg > import socket > -import eventlet > > import netaddr > from ryu.base import app_manager > @@ -54,7 +53,7 @@ class RpcVRRPManager(app_manager.RyuApp): > self._kwargs = kwargs > self._peers = [] > self._rpc_events = hub.Queue(128) > - self.serverThread = hub.spawn(self._peer_accept_thread) > + self.server_thread = hub.spawn(self._peer_accept_thread) > self.event_thread = hub.spawn(self._rpc_request_loop_thread) > > def _rpc_request_loop_thread(self): > @@ -81,17 +80,19 @@ class RpcVRRPManager(app_manager.RyuApp): > # the peer connection is closed > self._peers.remove(peer) > > + def peer_accept_handler(self, new_sock, addr): > + peer = Peer(self._rpc_events) > + table = { > + rpc.MessageType.REQUEST: peer._handle_vrrp_request, > + } > + peer._endpoint = rpc.EndPoint(new_sock, disp_table=table) > + self._peers.append(peer) > + hub.spawn(self._peer_loop_thread, peer) > + > def _peer_accept_thread(self): > - server = eventlet.listen(('', CONF.vrrp_rpc_port)) > - while True: > - new_sock, address = server.accept() > - peer = Peer(self._rpc_events) > - table = { > - rpc.MessageType.REQUEST: peer._handle_vrrp_request, > - } > - peer._endpoint = rpc.EndPoint(new_sock, disp_table=table) > - self._peers.append(peer) > - hub.spawn(self._peer_loop_thread, peer) > + server = hub.StreamServer(('', CONF.vrrp_rpc_port), > + self.peer_accept_handler) > + server.serve_forever() > > def _params_to_dict(self, params, keys): > d = {} I've folded this and applied. Thanks! ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
