19 from grpc_testing
import _common
21 _CLIENT_INACTIVE = object()
28 raise NotImplementedError()
32 raise NotImplementedError()
36 raise NotImplementedError()
40 raise NotImplementedError()
44 raise NotImplementedError()
48 raise NotImplementedError()
52 raise NotImplementedError()
78 if self.
_code is None:
84 return _common.REQUESTS_CLOSED
88 return _common.TERMINATED
92 return self.
_code is None
110 if self.
_code is None:
120 if self.
_code is None:
124 'No initial metadata despite status code!')
140 elif self.
_code is None:
143 raise ValueError(
'No more responses!')
152 if self.
_code is None:
153 self.
_code = _CLIENT_INACTIVE
159 for termination_callback
in termination_callbacks:
160 termination_callback()
165 if self.
_code is _CLIENT_INACTIVE:
166 raise ValueError(
'Huh? Cancelled but wanting status?')
167 elif self.
_code is None:
183 if self.
_code is _CLIENT_INACTIVE:
184 raise ValueError(
'Huh? Cancelled but wanting status?')
185 elif self.
_code is None:
192 if self.
_code is None:
196 self.
_code = grpc.StatusCode.DEADLINE_EXCEEDED
197 self.
_details =
'Took too much time!'
201 for termination_callback
in termination_callbacks:
202 termination_callback()
215 expiration_future = time.call_at(handler.expire, deadline)
216 handler.set_expiration_future(expiration_future)