Beispiel #1
0
 def stop(self):
     from coins import contract_chain_consumer
     contract_chain_consumer.A().removeStateChangedCallback(
         self._on_contract_chain_state_changed)
     contract_chain_consumer.A('stop')
     contract_chain_consumer.A('shutdown')
     return True
Beispiel #2
0
 def start(self):
     from twisted.internet.defer import Deferred
     from coins import contract_chain_consumer
     self.starting_deferred = Deferred()
     contract_chain_consumer.A('init')
     contract_chain_consumer.A().addStateChangedCallback(self._on_contract_chain_state_changed)
     contract_chain_consumer.A('start')
     return self.starting_deferred
def is_connected():
    """
    """
    if contract_chain_consumer.A() is None:
        lg.warn('contract_chain_consumer() not exist')
        return False
    if contract_chain_consumer.A().state != 'CONNECTED':
        if _Debug:
            lg.out(_DebugLevel, 'contract_chain_node._connected OFFLINE, nodes connection is not ready: %s' % contract_chain_consumer.A())
        return False
    return True
def send_to_miner(coins):
    """
    """
    if not is_connected():
        return succeed(None)
    result = Deferred()
    p2p_service.SendCoin(
        contract_chain_consumer.A().connected_miner,
        coins,
        callbacks={
            commands.Ack(): lambda response, info: result.callback(response),
            commands.Fail(): lambda response, info: result.errback(Exception(response)),
        }
    )
    return result
 def __init__(self, query_dict):
     """
     """
     self.result = Deferred()
     self.out_packets = {}
     for idurl in contract_chain_consumer.A().connected_accountants:
         single_accountant = Deferred()
         outpacket = p2p_service.SendRetrieveCoin(idurl, query_dict, callbacks={
             commands.Coin(): self._on_coin_received,
             commands.Fail(): self._on_coin_failed,
         })
         assert outpacket.PacketID not in self.out_packets
         self.out_packets[outpacket.PacketID] = single_accountant
     DeferredList(list(self.out_packets.values())).addBoth(self._on_results_collected)
     if _Debug:
         lg.out(_DebugLevel, 'contract_chain_node.Query created to request from %d accountants' % len(self.out_packets))
def reconnect():
    """
    """
    contract_chain_consumer.A('start')
Beispiel #7
0
 def health_check(self):
     from coins import contract_chain_consumer
     return contract_chain_consumer.A().state in [
         'CONNECTED',
     ]