@@ -55,7 +55,42 @@ def _CallNoReplyBase(self, apiId: int, parameter: str, proirity: int, leaseId: i
5555 return 0
5656 else :
5757 return RPC_ERR_CLIENT_SEND
58-
58+
59+ def _CallRequestWithParamAndBinBase (self , apiId : int , requestParamter : str ,
60+ requestBinary : list , proirity : int = 0 ,
61+ leaseId : int = 0 ):
62+ header = self .__SetHeader (apiId , leaseId , proirity , False )
63+ request = Request (header , requestParamter , requestBinary )
64+
65+ future = self .__stub .SendRequest (request , self .__timeout )
66+ if future is None :
67+ return RPC_ERR_CLIENT_SEND , None
68+
69+ result = future .GetResult (self .__timeout )
70+
71+ if result .code != FutureResult .FUTURE_SUCC :
72+ self .__stub .RemoveFuture (request .header .identity .id )
73+ code = RPC_ERR_CLIENT_API_TIMEOUT if result .code == FutureResult .FUTUTE_ERR_TIMEOUT else RPC_ERR_UNKNOWN
74+ return code , None
75+
76+ response = result .value
77+
78+ if response .header .identity .api_id != apiId :
79+ return RPC_ERR_CLIENT_API_NOT_MATCH , None
80+ else :
81+ return response .header .status .code , response .data
82+
83+ def _CallRequestWithParamAndBinNoReplyBase (self , apiId : int , requestParamter : str ,
84+ requestBinary : list , proirity : int ,
85+ leaseId : int ):
86+ header = self .__SetHeader (apiId , leaseId , proirity , True )
87+ request = Request (header , requestParamter , request_binary )
88+
89+ if self .__stub .Send (request , self .__timeout ):
90+ return 0
91+ else :
92+ return RPC_ERR_CLIENT_SEND
93+
5994 def _CallBinaryBase (self , apiId : int , parameter : list , proirity : int , leaseId : int ):
6095 header = self .__SetHeader (apiId , leaseId , proirity , False )
6196 request = Request (header , "" , parameter )
0 commit comments