예제 #1
0
    def _receive_first_phase_commit_successful(
        self,event_uuid,endpoint_uuid,children_event_endpoint_uuids):
        '''
        One of the endpoints, with uuid endpoint_uuid, that we are
        subscribed to was able to complete first phase commit for
        event with uuid event_uuid.

        @param {uuid} event_uuid --- The uuid of the event associated
        with this message.  (Used to index into local endpoint's
        active event map.)
        
        @param {uuid} endpoint_uuid --- The uuid of the endpoint that
        was able to complete the first phase of the commit.  (Note:
        this may not be the same uuid as that for the endpoint that
        called _receive_first_phase_commit_successful on this
        endpoint.  We only keep track of the endpoint that originally
        committed.)

        @param {None or list} children_event_endpoint_uuids --- None
        if successful is False.  Otherwise, a set of uuids.  The root
        endpoint should not transition from being in first phase of
        commit to completing commit until it has received a first
        phase successful message from endpoints with each of these
        uuids.
        
        Forward the message on to the root.  
        '''
        service_action = waldoServiceActions._ReceiveFirstPhaseCommitMessage(
            self,event_uuid,endpoint_uuid,True,children_event_endpoint_uuids)
        self._thread_pool.add_service_action(service_action)
예제 #2
0
    def _receive_first_phase_commit_unsuccessful(
        self,event_uuid,endpoint_uuid):
        '''
        @param {uuid} event_uuid --- The uuid of the event associated
        with this message.  (Used to index into local endpoint's
        active event map.)

        @param {uuid} endpoint_uuid --- The endpoint
        that tried to perform the first phase of the commit.  (Other
        endpoints may have forwarded the result on to us.)


        '''
        service_action = waldoServiceActions._ReceiveFirstPhaseCommitMessage(
            self,event_uuid,endpoint_uuid,False,None)
        self._thread_pool.add_service_action(service_action)