diff --git a/sjrpc/core/rpcconnection.py b/sjrpc/core/rpcconnection.py index 2b42164144fbb260e85a7a0188ff4931a978176d..33cd6f3fd9f5efd4d69f827ff701a9373feb1925 100644 --- a/sjrpc/core/rpcconnection.py +++ b/sjrpc/core/rpcconnection.py @@ -75,19 +75,22 @@ class RpcConnection(object): # Watcher list: self._watchers = set() - # Initialize main watcher: - self._sock_reader = self.loop.io(self._sock, pyev.EV_READ, self._dispatch) - self._sock_writer = self.loop.io(self._sock, pyev.EV_WRITE, self._writer) - self._watchers.add(self._sock_reader) - self._watchers.add(self._sock_writer) - # Socket inbound/outbound buffers: self._inbound_buffer = '' self._outbound_buffer = '' self._remains = struct.calcsize(RpcConnection.MESSAGE_HEADER_FALLBACK) self._proto_receiving = None + # Initialize main read/write watchers: + self._sock_reader = self.create_watcher(pyev.Io, + fd=self._sock, + events=pyev.EV_READ, + callback=self._dispatch) self._sock_reader.start() + self._sock_writer = self.create_watcher(pyev.Io, + fd=self._sock, + events=pyev.EV_WRITE, + callback=self._writer) # Is the RpcConnection connected to its peer: self._connected = True