public ProtoMessage CreateAccountListRequest(string token, string clientMsgId = null)
        {
            var _msg = ProtoOAGetAccountListByAccessTokenReq.CreateBuilder();

            _msg.SetAccessToken(token);
            return(CreateMessage((uint)_msg.PayloadType, _msg.Build().ToByteString(), clientMsgId));
        }
示例#2
0
        private async static void AccountListRequest()
        {
            Console.WriteLine("Sending account list req...");

            var accountListByAccessTokenReq = new ProtoOAGetAccountListByAccessTokenReq
            {
                AccessToken = _token.AccessToken,
            };

            await _client.SendMessage(accountListByAccessTokenReq, ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenReq);
        }
示例#3
0
        public static ProtoMessage Get_Accounts_By_Access_Token_Req(string accessToken)
        {
            ProtoOAGetAccountListByAccessTokenReq message = new ProtoOAGetAccountListByAccessTokenReq
            {
                payloadType = ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenReq,
                accessToken = accessToken
            };

            Log.Info("ProtoOAGetAccountListByAccessTokenReq:: " +
                     $"accessToken: {accessToken}");

            InnerMemoryStream.SetLength(0);
            Serializer.Serialize(InnerMemoryStream, message);

            return(Encode((uint)message.payloadType, InnerMemoryStream.ToArray()));
        }
示例#4
0
        public async Task <ProtoOACtidTraderAccount[]> GetAccountsList(string accessToken)
        {
            using var cancelationTokenSource = new CancellationTokenSource();

            ProtoOACtidTraderAccount[] result = null;

            using var disposable = _liveClient.OfType <ProtoOAGetAccountListByAccessTokenRes>()
                                   .Subscribe(response =>
            {
                result = response.CtidTraderAccount.ToArray();

                cancelationTokenSource.Cancel();
            });

            var requestMessage = new ProtoOAGetAccountListByAccessTokenReq
            {
                AccessToken = accessToken
            };

            await SendMessage(requestMessage, ProtoOAPayloadType.ProtoOaGetAccountsByAccessTokenReq, _liveClient, cancelationTokenSource, () => result is not null);

            return(result);
        }