Exemplo n.º 1
0
    def create(self, que: TibrvQueue, callback: TibrvFtMemberCallback,
               tx: TibrvTx, groupName: str, hbt: float,
               closure) -> tibrv_status:

        if que is None or not isinstance(que, TibrvQueue):
            status = TIBRV_INVALID_QUEUE
            self._err = TibrvStatus.error(status)
            return status

        if callback is None or not isinstance(callback,
                                              TibrvFtMonitorCallback):
            status = TIBRV_INVALID_CALLBACK
            self._err = TibrvStatus.error(status)
            return status

        if tx is None or not isinstance(tx, TibrvTx):
            status = TIBRV_INVALID_TRANSPORT
            self._err = TibrvStatus.error(status)
            return status

        if groupName is None or hbt is None:
            status = TIBRV_INVALID_ARG
            self._err = TibrvStatus.error(status)
            return status

        status, self._ftmon = tibrvftMonitor_Create(que.id(),
                                                    callback._register(),
                                                    tx.id(), groupName, hbt,
                                                    closure)

        self._err = TibrvStatus.error(status)

        return status
Exemplo n.º 2
0
    def queue(self) -> TibrvQueue:
        ret = None

        status, q = tibrvftMonitor_GetQueue(self.id())
        if status == TIBRV_OK:
            ret = TibrvQueue(q)

        self._err = TibrvStatus.error(status)

        return ret
Exemplo n.º 3
0
    def tx(self) -> TibrvTx:
        ret = None

        status, tx = tibrvftMember_GetTransport(self.id())
        if status == TIBRV_OK:
            ret = TibrvTx(tx)

        self._err = TibrvStatus.error(status)

        return ret
Exemplo n.º 4
0
    def create(self,
               que: TibrvQueue,
               callback: TibrvFtMemberCallback,
               tx: TibrvTx,
               groupName: str,
               weight: int = 50,
               activeGoal: int = 1,
               hbt: float = 1.0,
               prepare: float = 2.5,
               activate: float = 4.0,
               closure=None) -> tibrv_status:

        if que is None or not isinstance(que, TibrvQueue):
            status = TIBRV_INVALID_QUEUE
            self._err = TibrvStatus.error(status)
            return status

        if tx is None or not isinstance(tx, TibrvTx):
            status = TIBRV_INVALID_TRANSPORT
            self._err = TibrvStatus.error(status)
            return status

        if groupName is None:
            status = TIBRV_INVALID_ARG
            self._err = TibrvStatus.error(status)
            return status

        if callback is None or not isinstance(callback, TibrvFtMemberCallback):
            status = TIBRV_INVALID_CALLBACK
            self._err = TibrvStatus.error(status)
            return status

        status, self._ftmem = tibrvftMember_Create(que.id(),
                                                   callback._register(),
                                                   tx.id(), groupName, weight,
                                                   activeGoal, hbt, prepare,
                                                   activate, closure)

        self._err = TibrvStatus.error(status)

        return status
Exemplo n.º 5
0
    def name(self) -> str:

        status, ret = tibrvftMonitor_GetGroupName(self.id())
        self._err = TibrvStatus.error(status)

        return ret
Exemplo n.º 6
0
    def weight(self, wt: int):

        status = tibrvftMember_SetWeight(self.id(), wt)
        self._err = TibrvStatus.error(status)
Exemplo n.º 7
0
    def weight(self) -> int:

        status, ret = tibrvftMember_GetWeight(self.id())
        self._err = TibrvStatus.error(status)

        return ret