; /** * Original thrift definition:- * void * interact(1: i32 arg); */ public function interact(int $arg): Awaitable; /** * Original thrift definition:- * i32 * interactFast(); */ public function interactFast(): Awaitable; } /** * Original thrift service:- * MyService */ interface MyServiceIf extends \IThriftSyncIf { /** * Original thrift definition:- * void * foo(); */ public function foo(): void; /** * Original thrift definition:- * void * interact(1: i32 arg); */ public function interact(int $arg): void; /** * Original thrift definition:- * i32 * interactFast(); */ public function interactFast(): int; } /** * Original thrift service:- * MyService */ interface MyServiceAsyncClientIf extends MyServiceAsyncIf { /** * Original thrift definition:- * i32, stream * serialize(); */ public function serialize(): Awaitable<\ResponseAndClientStream>; } /** * Original thrift service:- * MyService */ interface MyServiceClientIf extends \IThriftSyncIf { /** * Original thrift definition:- * void * foo(); */ public function foo(): Awaitable; /** * Original thrift definition:- * void * interact(1: i32 arg); */ public function interact(int $arg): Awaitable; /** * Original thrift definition:- * i32 * interactFast(); */ public function interactFast(): Awaitable; /** * Original thrift definition:- * i32, stream * serialize(); */ public function serialize(): Awaitable<\ResponseAndClientStream>; } /** * Original thrift service:- * MyService */ trait MyServiceClientBase { require extends \ThriftClientBase; /* interaction handlers factory methods */ public function createMyInteraction(): MyService_MyInteraction { $interaction = new MyService_MyInteraction($this->input_, $this->output_, $this->channel_); $interaction->setAsyncHandler($this->asyncHandler_)->setEventHandler($this->eventHandler_); return $interaction; } public function createMyInteractionFast(): MyService_MyInteractionFast { $interaction = new MyService_MyInteractionFast($this->input_, $this->output_, $this->channel_); $interaction->setAsyncHandler($this->asyncHandler_)->setEventHandler($this->eventHandler_); return $interaction; } public function createSerialInteraction(): MyService_SerialInteraction { $interaction = new MyService_SerialInteraction($this->input_, $this->output_, $this->channel_); $interaction->setAsyncHandler($this->asyncHandler_)->setEventHandler($this->eventHandler_); return $interaction; } } class MyServiceAsyncClient extends \ThriftClientBase implements MyServiceAsyncClientIf { use MyServiceClientBase; /** * Original thrift definition:- * void * foo(); */ public async function foo(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_foo_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "foo", $args); $currentseqid = $this->sendImplHelper($args, "foo", false); await $this->genAwaitResponse(MyService_foo_result::class, "foo", true, $currentseqid, $rpc_options); } /** * Original thrift definition:- * void * interact(1: i32 arg); */ public async function interact(int $arg): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_interact_args::fromShape(shape( 'arg' => $arg, )); await $this->asyncHandler_->genBefore("MyService", "interact", $args); $currentseqid = $this->sendImplHelper($args, "interact", false); await $this->genAwaitResponse(MyService_interact_result::class, "interact", true, $currentseqid, $rpc_options); } /** * Original thrift definition:- * i32 * interactFast(); */ public async function interactFast(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_interactFast_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "interactFast", $args); $currentseqid = $this->sendImplHelper($args, "interactFast", false); return await $this->genAwaitResponse(MyService_interactFast_result::class, "interactFast", false, $currentseqid, $rpc_options); } /** * Original thrift definition:- * i32, stream * serialize(); */ public async function serialize(): Awaitable<\ResponseAndClientStream> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_serialize_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "serialize", $args); $currentseqid = $this->sendImplHelper($args, "serialize", false); return await $this->genAwaitStreamResponse(MyService_serialize_FirstResponse::class, MyService_serialize_StreamResponse::class, "serialize", false, $currentseqid, $rpc_options); } } class MyServiceClient extends \ThriftClientBase implements MyServiceClientIf { use MyServiceClientBase; /** * Original thrift definition:- * void * foo(); */ public async function foo(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_foo_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "foo", $args); $currentseqid = $this->sendImplHelper($args, "foo", false); await $this->genAwaitResponse(MyService_foo_result::class, "foo", true, $currentseqid, $rpc_options); } /** * Original thrift definition:- * void * interact(1: i32 arg); */ public async function interact(int $arg): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_interact_args::fromShape(shape( 'arg' => $arg, )); await $this->asyncHandler_->genBefore("MyService", "interact", $args); $currentseqid = $this->sendImplHelper($args, "interact", false); await $this->genAwaitResponse(MyService_interact_result::class, "interact", true, $currentseqid, $rpc_options); } /** * Original thrift definition:- * i32 * interactFast(); */ public async function interactFast(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_interactFast_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "interactFast", $args); $currentseqid = $this->sendImplHelper($args, "interactFast", false); return await $this->genAwaitResponse(MyService_interactFast_result::class, "interactFast", false, $currentseqid, $rpc_options); } /** * Original thrift definition:- * i32, stream * serialize(); */ public async function serialize(): Awaitable<\ResponseAndClientStream> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? \ThriftClientBase::defaultOptions(); $args = MyService_serialize_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "serialize", $args); $currentseqid = $this->sendImplHelper($args, "serialize", false); return await $this->genAwaitStreamResponse(MyService_serialize_FirstResponse::class, MyService_serialize_StreamResponse::class, "serialize", false, $currentseqid, $rpc_options); } /* send and recv functions */ public function send_foo(): int { $args = MyService_foo_args::withDefaultValues(); return $this->sendImplHelper($args, "foo", false); } public function recv_foo(?int $expectedsequenceid = null): void { $this->recvImplHelper(MyService_foo_result::class, "foo", true, $expectedsequenceid); } public function send_interact(int $arg): int { $args = MyService_interact_args::fromShape(shape( 'arg' => $arg, )); return $this->sendImplHelper($args, "interact", false); } public function recv_interact(?int $expectedsequenceid = null): void { $this->recvImplHelper(MyService_interact_result::class, "interact", true, $expectedsequenceid); } public function send_interactFast(): int { $args = MyService_interactFast_args::withDefaultValues(); return $this->sendImplHelper($args, "interactFast", false); } public function recv_interactFast(?int $expectedsequenceid = null): int { return $this->recvImplHelper(MyService_interactFast_result::class, "interactFast", false, $expectedsequenceid); } } // INTERACTION HANDLERS class MyService_MyInteraction extends \ThriftClientBase { private \InteractionId $interactionId; public function __construct(\TProtocol $input, ?\TProtocol $output = null, ?\IThriftMigrationAsyncChannel $channel = null)[leak_safe] { parent::__construct($input, $output, $channel); if ($this->channel_ is nonnull) { $this->interactionId = $this->channel_->createInteraction("MyInteraction"); } else { throw new \Exception("The channel must be nonnull to create interactions."); } } /** * Original thrift definition:- * i32 * frobnicate() * throws (1: CustomException ex); */ public async function frobnicate(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteraction_frobnicate_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteraction.frobnicate", $args); $currentseqid = $this->sendImpl_frobnicate(); return await $this->genAwaitResponse(MyService_MyInteraction_frobnicate_result::class, "frobnicate", false, $currentseqid, $rpc_options); } protected function sendImpl_frobnicate(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteraction_frobnicate_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteraction.frobnicate', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteraction.frobnicate', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteraction.frobnicate', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteraction.frobnicate', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteraction.frobnicate', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteraction.frobnicate', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteraction.frobnicate', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteraction.frobnicate', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * oneway void * ping(); */ public async function ping(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteraction_ping_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteraction.ping", $args); $currentseqid = $this->sendImpl_ping(); await $this->genAwaitNoResponse($rpc_options); } protected function sendImpl_ping(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteraction_ping_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteraction.ping', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteraction.ping', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), true); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteraction.ping', \TMessageType::CALL, $args, $currentseqid, true, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteraction.ping', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->onewayFlush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteraction.ping', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteraction.ping', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteraction.ping', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteraction.ping', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * void, stream * truthify(); */ public async function truthify(): Awaitable<\ResponseAndClientStream> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteraction_truthify_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteraction.truthify", $args); $currentseqid = $this->sendImpl_truthify(); return await $this->genAwaitStreamResponse(MyService_MyInteraction_truthify_FirstResponse::class, MyService_MyInteraction_truthify_StreamResponse::class, "truthify", true, $currentseqid, $rpc_options); } protected function sendImpl_truthify(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteraction_truthify_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteraction.truthify', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteraction.truthify', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteraction.truthify', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteraction.truthify', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteraction.truthify', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteraction.truthify', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteraction.truthify', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteraction.truthify', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * set, sink * encode(); */ public async function encode(): Awaitable<\ResponseAndClientSink, string, string>> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteraction_encode_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteraction.encode", $args); $currentseqid = $this->sendImpl_encode(); return await $this->genAwaitSinkResponse(MyService_MyInteraction_encode_FirstResponse::class, MyService_MyInteraction_encode_SinkPayload::class, MyService_MyInteraction_encode_FinalResponse::class, "encode", false, $currentseqid, $rpc_options); } protected function sendImpl_encode(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteraction_encode_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteraction.encode', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteraction.encode', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteraction.encode', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteraction.encode', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteraction.encode', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteraction.encode', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteraction.encode', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteraction.encode', $args, $currentseqid); return $currentseqid; } } class MyService_MyInteractionFast extends \ThriftClientBase { private \InteractionId $interactionId; public function __construct(\TProtocol $input, ?\TProtocol $output = null, ?\IThriftMigrationAsyncChannel $channel = null)[leak_safe] { parent::__construct($input, $output, $channel); if ($this->channel_ is nonnull) { $this->interactionId = $this->channel_->createInteraction("MyInteractionFast"); } else { throw new \Exception("The channel must be nonnull to create interactions."); } } /** * Original thrift definition:- * i32 * frobnicate(); */ public async function frobnicate(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteractionFast_frobnicate_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteractionFast.frobnicate", $args); $currentseqid = $this->sendImpl_frobnicate(); return await $this->genAwaitResponse(MyService_MyInteractionFast_frobnicate_result::class, "frobnicate", false, $currentseqid, $rpc_options); } protected function sendImpl_frobnicate(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteractionFast_frobnicate_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteractionFast.frobnicate', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteractionFast.frobnicate', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteractionFast.frobnicate', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteractionFast.frobnicate', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteractionFast.frobnicate', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteractionFast.frobnicate', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteractionFast.frobnicate', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteractionFast.frobnicate', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * oneway void * ping(); */ public async function ping(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteractionFast_ping_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteractionFast.ping", $args); $currentseqid = $this->sendImpl_ping(); await $this->genAwaitNoResponse($rpc_options); } protected function sendImpl_ping(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteractionFast_ping_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteractionFast.ping', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteractionFast.ping', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), true); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteractionFast.ping', \TMessageType::CALL, $args, $currentseqid, true, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteractionFast.ping', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->onewayFlush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteractionFast.ping', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteractionFast.ping', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteractionFast.ping', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteractionFast.ping', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * void, stream * truthify(); */ public async function truthify(): Awaitable<\ResponseAndClientStream> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteractionFast_truthify_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteractionFast.truthify", $args); $currentseqid = $this->sendImpl_truthify(); return await $this->genAwaitStreamResponse(MyService_MyInteractionFast_truthify_FirstResponse::class, MyService_MyInteractionFast_truthify_StreamResponse::class, "truthify", true, $currentseqid, $rpc_options); } protected function sendImpl_truthify(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteractionFast_truthify_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteractionFast.truthify', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteractionFast.truthify', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteractionFast.truthify', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteractionFast.truthify', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteractionFast.truthify', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteractionFast.truthify', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteractionFast.truthify', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteractionFast.truthify', $args, $currentseqid); return $currentseqid; } /** * Original thrift definition:- * set, sink * encode(); */ public async function encode(): Awaitable<\ResponseAndClientSink, string, string>> { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options->setInteractionId($this->interactionId); $args = MyService_MyInteractionFast_encode_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "MyInteractionFast.encode", $args); $currentseqid = $this->sendImpl_encode(); return await $this->genAwaitSinkResponse(MyService_MyInteractionFast_encode_FirstResponse::class, MyService_MyInteractionFast_encode_SinkPayload::class, MyService_MyInteractionFast_encode_FinalResponse::class, "encode", false, $currentseqid, $rpc_options); } protected function sendImpl_encode(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_MyInteractionFast_encode_args::withDefaultValues(); try { $this->eventHandler_->preSend('MyInteractionFast.encode', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'MyInteractionFast.encode', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'MyInteractionFast.encode', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('MyInteractionFast.encode', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('MyInteractionFast.encode', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('MyInteractionFast.encode', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('MyInteractionFast.encode', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('MyInteractionFast.encode', $args, $currentseqid); return $currentseqid; } } class MyService_SerialInteraction extends \ThriftClientBase { private \InteractionId $interactionId; public function __construct(\TProtocol $input, ?\TProtocol $output = null, ?\IThriftMigrationAsyncChannel $channel = null)[leak_safe] { parent::__construct($input, $output, $channel); if ($this->channel_ is nonnull) { $this->interactionId = $this->channel_->createInteraction("SerialInteraction"); } else { throw new \Exception("The channel must be nonnull to create interactions."); } } /** * Original thrift definition:- * void * frobnicate(); */ public async function frobnicate(): Awaitable { $hh_frame_metadata = $this->getHHFrameMetadata(); if ($hh_frame_metadata !== null) { \HH\set_frame_metadata($hh_frame_metadata); } $rpc_options = $this->getAndResetOptions() ?? new \RpcOptions(); $rpc_options = $rpc_options->setInteractionId($this->interactionId); $args = MyService_SerialInteraction_frobnicate_args::withDefaultValues(); await $this->asyncHandler_->genBefore("MyService", "SerialInteraction.frobnicate", $args); $currentseqid = $this->sendImpl_frobnicate(); await $this->genAwaitResponse(MyService_SerialInteraction_frobnicate_result::class, "frobnicate", true, $currentseqid, $rpc_options); } protected function sendImpl_frobnicate(): int { $currentseqid = $this->getNextSequenceID(); $args = MyService_SerialInteraction_frobnicate_args::withDefaultValues(); try { $this->eventHandler_->preSend('SerialInteraction.frobnicate', $args, $currentseqid); if ($this->output_ is \TBinaryProtocolAccelerated) { \thrift_protocol_write_binary($this->output_, 'SerialInteraction.frobnicate', \TMessageType::CALL, $args, $currentseqid, $this->output_->isStrictWrite(), false); } else if ($this->output_ is \TCompactProtocolAccelerated) { \thrift_protocol_write_compact2($this->output_, 'SerialInteraction.frobnicate', \TMessageType::CALL, $args, $currentseqid, false, \TCompactProtocolBase::VERSION); } else { $this->output_->writeMessageBegin('SerialInteraction.frobnicate', \TMessageType::CALL, $currentseqid); $args->write($this->output_); $this->output_->writeMessageEnd(); $this->output_->getTransport()->flush(); } } catch (\THandlerShortCircuitException $ex) { switch ($ex->resultType) { case \THandlerShortCircuitException::R_EXPECTED_EX: case \THandlerShortCircuitException::R_UNEXPECTED_EX: $this->eventHandler_->sendError('SerialInteraction.frobnicate', $args, $currentseqid, $ex->result); throw $ex->result; case \THandlerShortCircuitException::R_SUCCESS: default: $this->eventHandler_->postSend('SerialInteraction.frobnicate', $args, $currentseqid); return $currentseqid; } } catch (\Exception $ex) { $this->eventHandler_->sendError('SerialInteraction.frobnicate', $args, $currentseqid, $ex); throw $ex; } $this->eventHandler_->postSend('SerialInteraction.frobnicate', $args, $currentseqid); return $currentseqid; } } // HELPER FUNCTIONS AND STRUCTURES class MyService_foo_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_foo_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.foo_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_foo_result extends \ThriftSyncStructWithoutResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_foo_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_foo_result", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_interact_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ 1 => shape( 'var' => 'arg', 'type' => \TType::I32, ), ]; const dict FIELDMAP = dict[ 'arg' => 1, ]; const type TConstructorShape = shape( ?'arg' => ?int, ); const int STRUCTURAL_ID = 6449802475022035959; public int $arg; public function __construct(?int $arg = null)[] { $this->arg = $arg ?? 0; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'arg'), ); } public function getName()[]: string { return 'MyService_interact_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.interact_args", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 1, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "arg", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_interact_result extends \ThriftSyncStructWithoutResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_interact_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_interact_result", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_interactFast_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_interactFast_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.interactFast_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_interactFast_result extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = int; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::I32, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 3865318819874171525; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_interactFast_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_interactFast_result", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_serialize_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_serialize_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.serialize_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_serialize_StreamResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = int; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::I32, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 3865318819874171525; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_serialize_StreamResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_serialize_StreamResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_serialize_FirstResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = int; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::I32, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 3865318819874171525; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_serialize_FirstResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_serialize_FirstResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_frobnicate_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteraction_frobnicate_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.frobnicate_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_frobnicate_result extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = int; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::I32, ), 1 => shape( 'var' => 'ex', 'type' => \TType::STRUCT, 'class' => CustomException::class, ), ]; const dict FIELDMAP = dict[ 'success' => 0, 'ex' => 1, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ?'ex' => ?CustomException, ); const int STRUCTURAL_ID = 7122595353333880010; public ?this::TResult $success; public ?CustomException $ex; public function __construct(?this::TResult $success = null, ?CustomException $ex = null)[] { $this->success = $success; $this->ex = $ex; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), Shapes::idx($shape, 'ex'), ); } public function getName()[]: string { return 'MyService_MyInteraction_frobnicate_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_frobnicate_result", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "success", ) ), tmeta_ThriftField::fromShape( shape( "id" => 1, "type" => tmeta_ThriftType::fromShape( shape( "t_struct" => tmeta_ThriftStructType::fromShape( shape( "name" => "module.CustomException", ) ), ) ), "name" => "ex", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } public function checkForException(): ?\TException { if ($this->ex !== null) { return $this->ex; } return null; } } class MyService_MyInteraction_ping_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteraction_ping_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.ping_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_truthify_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteraction_truthify_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.truthify_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_truthify_StreamResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = bool; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::BOOL, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 8594383818423018844; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteraction_truthify_StreamResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_truthify_StreamResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_BOOL_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_truthify_FirstResponse extends \ThriftSyncStructWithoutResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteraction_truthify_FirstResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_truthify_FirstResponse", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_encode_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteraction_encode_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.encode_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_encode_FirstResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = Set; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::SET, 'etype' => \TType::I32, 'elem' => shape( 'type' => \TType::I32, ), 'format' => 'collection', ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 5594803499509360192; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteraction_encode_FirstResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_encode_FirstResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_set" => tmeta_ThriftSetType::fromShape( shape( "valueType" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), ) ), ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_encode_SinkPayload extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = string; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::STRING, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 1365128170602685579; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteraction_encode_SinkPayload'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_encode_SinkPayload", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_STRING_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteraction_encode_FinalResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = string; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::STRING, 'is_binary' => true, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 1365128170602685579; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteraction_encode_FinalResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteraction_encode_FinalResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_BINARY_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_frobnicate_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteractionFast_frobnicate_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.frobnicate_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_frobnicate_result extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = int; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::I32, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 3865318819874171525; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteractionFast_frobnicate_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_frobnicate_result", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_ping_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteractionFast_ping_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.ping_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_truthify_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteractionFast_truthify_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.truthify_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_truthify_StreamResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = bool; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::BOOL, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 8594383818423018844; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteractionFast_truthify_StreamResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_truthify_StreamResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_BOOL_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_truthify_FirstResponse extends \ThriftSyncStructWithoutResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteractionFast_truthify_FirstResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_truthify_FirstResponse", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_encode_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_MyInteractionFast_encode_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.encode_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_encode_FirstResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = Set; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::SET, 'etype' => \TType::I32, 'elem' => shape( 'type' => \TType::I32, ), 'format' => 'collection', ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 5594803499509360192; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteractionFast_encode_FirstResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_encode_FirstResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_set" => tmeta_ThriftSetType::fromShape( shape( "valueType" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), ) ), ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_encode_SinkPayload extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = string; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::STRING, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 1365128170602685579; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteractionFast_encode_SinkPayload'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_encode_SinkPayload", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_STRING_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_MyInteractionFast_encode_FinalResponse extends \ThriftSyncStructWithResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const type TResult = string; const \ThriftStructTypes::TSpec SPEC = dict[ 0 => shape( 'var' => 'success', 'type' => \TType::STRING, 'is_binary' => true, ), ]; const dict FIELDMAP = dict[ 'success' => 0, ]; const type TConstructorShape = shape( ?'success' => ?this::TResult, ); const int STRUCTURAL_ID = 1365128170602685579; public ?this::TResult $success; public function __construct(?this::TResult $success = null)[] { $this->success = $success; } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( Shapes::idx($shape, 'success'), ); } public function getName()[]: string { return 'MyService_MyInteractionFast_encode_FinalResponse'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_MyInteractionFast_encode_FinalResponse", "fields" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 0, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_BINARY_TYPE, ) ), "name" => "success", ) ), ], "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_SerialInteraction_frobnicate_args implements \IThriftSyncStruct, \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_SerialInteraction_frobnicate_args'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.frobnicate_args", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyService_SerialInteraction_frobnicate_result extends \ThriftSyncStructWithoutResult implements \IThriftStructMetadata { use \ThriftSerializationTrait; const \ThriftStructTypes::TSpec SPEC = dict[ ]; const dict FIELDMAP = dict[ ]; const type TConstructorShape = shape( ); const int STRUCTURAL_ID = 957977401221134810; public function __construct()[] { } public static function withDefaultValues()[]: this { return new static(); } public static function fromShape(self::TConstructorShape $shape)[]: this { return new static( ); } public function getName()[]: string { return 'MyService_SerialInteraction_frobnicate_result'; } public static function getStructMetadata()[]: \tmeta_ThriftStruct { return tmeta_ThriftStruct::fromShape( shape( "name" => "module.MyService_SerialInteraction_frobnicate_result", "is_union" => false, ) ); } public static function getAllStructuredAnnotations()[write_props]: \TStructAnnotations { return shape( 'struct' => dict[], 'fields' => dict[ ], ); } public function getInstanceKey()[write_props]: string { return \TCompactSerializer::serialize($this); } } class MyServiceStaticMetadata implements \IThriftServiceStaticMetadata { public static function getServiceMetadata()[]: \tmeta_ThriftService { return tmeta_ThriftService::fromShape( shape( "name" => "module.MyService", "functions" => vec[ tmeta_ThriftFunction::fromShape( shape( "name" => "foo", "return_type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_VOID_TYPE, ) ), ) ), tmeta_ThriftFunction::fromShape( shape( "name" => "interact", "return_type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_VOID_TYPE, ) ), "arguments" => vec[ tmeta_ThriftField::fromShape( shape( "id" => 1, "type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "name" => "arg", ) ), ], ) ), tmeta_ThriftFunction::fromShape( shape( "name" => "interactFast", "return_type" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), ) ), tmeta_ThriftFunction::fromShape( shape( "name" => "serialize", "return_type" => tmeta_ThriftType::fromShape( shape( "t_stream" => tmeta_ThriftStreamType::fromShape( shape( "elemType" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), "initialResponseType" => tmeta_ThriftType::fromShape( shape( "t_primitive" => tmeta_ThriftPrimitiveType::THRIFT_I32_TYPE, ) ), ) ), ) ), ) ), ], ) ); } public static function getServiceMetadataResponse()[]: \tmeta_ThriftServiceMetadataResponse { return \tmeta_ThriftServiceMetadataResponse::fromShape( shape( 'context' => \tmeta_ThriftServiceContext::fromShape( shape( 'service_info' => self::getServiceMetadata(), 'module' => \tmeta_ThriftModuleContext::fromShape( shape( 'name' => 'module', ) ), ) ), 'metadata' => \tmeta_ThriftMetadata::fromShape( shape( 'enums' => dict[ ], 'structs' => dict[ ], 'exceptions' => dict[ ], 'services' => dict[ ], ) ), ) ); } public static function getAllStructuredAnnotations()[write_props]: \TServiceAnnotations { return shape( 'service' => dict[], 'functions' => dict[ ], ); } }