def __init__(self, certificate, private_key, max_queue_size=50,
               message_expiry_time=120, max_retransmission_time=10, store=None,
               threadpool_prefix="grr_threadpool"):
    # Identify ourselves as the server.
    self.token = access_control.ACLToken(username="GRRFrontEnd",
                                         reason="Implied.")
    self.token.supervisor = True
    self.throttle_callback = lambda: True
    self.SetThrottleBundlesRatio(None)

    # This object manages our crypto.
    self._communicator = ServerCommunicator(
        certificate=certificate, private_key=private_key, token=self.token)

    self.data_store = store or data_store.DB
    self.receive_thread_pool = {}
    self.message_expiry_time = message_expiry_time
    self.max_retransmission_time = max_retransmission_time
    self.max_queue_size = max_queue_size
    self.thread_pool = threadpool.ThreadPool.Factory(
        threadpool_prefix, min_threads=2,
        max_threads=config_lib.CONFIG["Threadpool.size"])
    self.thread_pool.Start()

    # Well known flows are run on the front end.
    self.well_known_flows = (
        WellKnownFlow.GetAllWellKnownFlows(token=self.token))
    well_known_flow_names = self.well_known_flows.keys()
    for well_known_flow in well_known_flow_names:
      if well_known_flow not in config_lib.CONFIG["Frontend.well_known_flows"]:
        del self.well_known_flows[well_known_flow]
dataset/ETHPy150Open google/grr/grr/lib/flow.py/FrontEndServer.__init__/original