def add_socket(self, socket, target_obj):
with self._socket_map_lock:
if socket in self.socket_to_id:
raise ValueError('Socket already added')
socket.setblocking(False)
# assumption: only one socket per object
self._object_id += 1
self.objects[self._object_id] = target_obj
self.id_to_socket[self._object_id] = socket
self.socket_to_id[socket] = self._object_id
weakref.finalize(target_obj,
lambda obj_id=self._object_id:
self._object_removed(obj_id))
self._register_sockets.append(socket)
评论列表
文章目录