From 2a5e74a8c7983ddedf9abf258b0c61f3330e94e9 Mon Sep 17 00:00:00 2001 From: czurmuhl3 Date: Thu, 14 Apr 2022 18:17:47 -0400 Subject: [PATCH] Added pollerClass param to SyncObj constructor so a custom poller can be used --- pysyncobj/syncobj.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pysyncobj/syncobj.py b/pysyncobj/syncobj.py index ae18b7e..f7c6abb 100644 --- a/pysyncobj/syncobj.py +++ b/pysyncobj/syncobj.py @@ -91,7 +91,7 @@ def _deserialize(self, data): # https://github.com/bakwc/PySyncObj class SyncObj(object): - def __init__(self, selfNode, otherNodes, conf=None, consumers=None, nodeClass = TCPNode, transport = None, transportClass = TCPTransport): + def __init__(self, selfNode, otherNodes, conf=None, consumers=None, nodeClass = TCPNode, transport = None, transportClass = TCPTransport, pollerClass = None): """ Main SyncObj class, you should inherit your own class from it. @@ -190,7 +190,11 @@ def __init__(self, selfNode, otherNodes, conf=None, consumers=None, nodeClass = self.__conf.deserializer, self.__conf.serializeChecker) self.__lastInitTryTime = 0 - self._poller = createPoller(self.__conf.pollerType) + + if pollerClass: + self._poller = pollerClass() + else: + self._poller = createPoller(self.__conf.pollerType) if transport is not None: self.__transport = transport