android13/packages/modules/Bluetooth/system/blueberry/grpc/blueberry_device_controller.py

41 lines
1.1 KiB
Python

"""Blueberry gRPC device controller.
This is a server to act as a mock device for testing the Blueberry gRPC
interface.
"""
from concurrent import futures
from absl import app
from absl import flags
import grpc
# Internal import
from blueberry.grpc import blueberry_device_controller_service
from blueberry.grpc.proto import blueberry_device_controller_pb2_grpc
_HOST = '[::]'
FLAGS = flags.FLAGS
flags.DEFINE_integer('port', 10000, 'port to listen on')
flags.DEFINE_integer('threads', 10, 'number of worker threads in thread pool')
def main(unused_argv):
server = grpc.server(
futures.ThreadPoolExecutor(max_workers=FLAGS.threads),
ports=(FLAGS.port,)) # pytype: disable=wrong-keyword-args
servicer = (
blueberry_device_controller_service.BlueberryDeviceControllerServicer())
blueberry_device_controller_pb2_grpc.add_BlueberryDeviceControllerServicer_to_server(
servicer, server)
server_creds = loas2.loas2_server_credentials()
server.add_secure_port(f'{_HOST}:{FLAGS.port}', server_creds)
server.start()
server.wait_for_termination()
if __name__ == '__main__':
app.run(main)