diff --git a/python/bbgo/__init__.py b/python/bbgo/__init__.py index a914a86ca..127349f31 100644 --- a/python/bbgo/__init__.py +++ b/python/bbgo/__init__.py @@ -1,3 +1,4 @@ -from .bbgo import MarketService -from .bbgo import TradingService +from .services import MarketService +from .services import TradingService +from .services import UserDataService from .stream import Stream diff --git a/python/bbgo/bbgo.py b/python/bbgo/services.py similarity index 95% rename from python/bbgo/bbgo.py rename to python/bbgo/services.py index a7ffb7bdb..989339a31 100644 --- a/python/bbgo/bbgo.py +++ b/python/bbgo/services.py @@ -4,6 +4,15 @@ from . import bbgo_pb2 from . import bbgo_pb2_grpc +class UserDataService(object): + + def __init__(self, stub: bbgo_pb2_grpc.UserDataServiceStub): + self.stub = stub + + def subscribe_user_data(self): + return self.stub.SubscribeUserData(bbgo_pb2.Empty()) + + class MarketService(object): def __init__(self, stub: bbgo_pb2_grpc.MarketDataServiceStub): diff --git a/python/tests/servicer.py b/python/tests/servicer.py index d0478f17e..5ae76873f 100644 --- a/python/tests/servicer.py +++ b/python/tests/servicer.py @@ -1,37 +1,9 @@ -import random -import time - from bbgo import bbgo_pb2 from bbgo import bbgo_pb2_grpc class TestTradingServicer(bbgo_pb2_grpc.TradingServiceServicer): - def Subcribe(self, request, context): - i = 0 - while True: - for subscription in request.subscriptions: - yield bbgo_pb2.SubscribeResponse( - channel=subscription.channel, - event=bbgo_pb2.Event.UPDATE, - exchange=subscription.exchange, - symbol=subscription.symbol + f'_{i}', - ) - i += 1 - time.sleep(random.random()) - - def SubcribeUserData(self, request, context): - i = 0 - while True: - yield bbgo_pb2.SubscribeResponse( - channel=bbgo_pb2.Channel.USER, - event=bbgo_pb2.Event.ORDER_UPDATE, - exchange='max', - symbol=f'user_{i}', - ) - i += 1 - time.sleep(random.random()) - def SubmitOrder(self, request, context): submit_order = request.submit_order @@ -50,18 +22,3 @@ class TestTradingServicer(bbgo_pb2_grpc.TradingServiceServicer): error = bbgo_pb2.Error(error_code=0, error_message='') return bbgo_pb2.SubmitOrderResponse(order=order, error=error) - - def CancelOrder(self, request, context): - pass - - def QueryOrder(self, request, context): - pass - - def QueryOrders(self, request, context): - pass - - def QueryTrades(self, request, context): - pass - - def QueryKLines(self, request, context): - pass