def __init__(self, networking, domain_id): self.networking = networking self.stats = networking.core.stats self.domain_id = domain_id self.logger = get_fluent_logger(name="user_message_routing") self.registered_users = dict() self.insert_notification_list = dict() self.queue = queue.Queue() th = threading.Thread(target=self._message_loop) th.setDaemon(True) th.start()
def __init__(self, config, core=None): self.core = core self.stats = core.stats self.logger = get_fluent_logger(name="bbc_network") self.config = config self.domains = dict() self.redis_pubsub = None self.pubsub = None conf = self.config.get_config()['redis'] pool = redis.ConnectionPool(host=conf['host'], port=conf['port'], db=0) th = threading.Thread(target=self._redis_loop, args=(pool, )) th.setDaemon(True) th.start() self.redis_msg = redis.StrictRedis(connection_pool=pool, db=1)
def __init__(self, host='127.0.0.1', port=DEFAULT_CORE_PORT, multiq=True, id_length=DEFAULT_ID_LEN): self.logger = get_fluent_logger(name="bbc_app") self.connection = socket.create_connection((host, port)) self.callback = Callback(log=self.logger) self.callback.set_client(self) self.use_query_id_based_message_wait = multiq self.user_id = None self.domain_id = None self.query_id = (0).to_bytes(2, 'little') self.id_length = id_length self.start_receiver_loop()
def __init__(self, networking=None, default_config=None, config=None, workingdir=None, domain_id=None): self.networking = networking self.core = networking.core self.stats = networking.core.stats self.logger = get_fluent_logger(name="data_handler") self.domain_id = domain_id self.domain_id_str = bbclib.convert_id_to_string(domain_id)[:16] self.config = config self.working_dir = workingdir self.db_adaptor = None self._db_setup(default_config)
def __init__(self, core_port=None, workingdir=".bbc1", configfile=None, ipv6=False, server_start=True): self.logger = get_fluent_logger(name="bbc_core") self.stats = bbc_stats.BBcStats() self.config = BBcConfig(workingdir, configfile) conf = self.config.get_config() self.ipv6 = ipv6 self.logger.debug("config = %s" % conf) self.test_tx_obj = BBcTransaction() self.networking = bbc_network.BBcNetwork(self.config, core=self) for domain_id_str in conf['domains'].keys(): domain_id = bbclib.convert_idstring_to_bytes(domain_id_str) c = self.config.get_domain_config(domain_id) self.networking.create_domain(domain_id=domain_id, config=c) gevent.signal(signal.SIGINT, self.quit_program) if server_start: self._start_server(core_port)
sys.path.append("../../") from bbc_simple.core import bbc_app, bbclib from bbc_simple.core.message_key_types import KeyType from bbc_simple.logger.fluent_logger import get_fluent_logger from argparse import ArgumentParser from datetime import timedelta from functools import update_wrapper from flask import Flask, jsonify, request, make_response, current_app from flask_cors import CORS PID_FILE = "/tmp/bbc_admin_app_rest.pid" http = Flask(__name__) CORS(http) flog = get_fluent_logger(name="bbc_app_rest") def get_id_binary(jsondata, keystr): idstr = jsondata.get(keystr, None) if idstr is None: return None return binascii.a2b_hex(idstr) def get_encoded_bson_txobj(txdat): txobj = bbclib.BBcTransaction(deserialize=txdat, format_type=bbclib.BBcFormat.FORMAT_BSON) return base64.b64encode(txobj.serialize_bson(no_header=True)).decode()