Trait wechaty_grpc::puppet_server::Puppet [−][src]
pub trait Puppet: Send + Sync + 'static {
type EventStream: Stream<Item = Result<EventResponse, Status>> + Send + Sync + 'static;
type MessageFileStreamStream: Stream<Item = Result<MessageFileStreamResponse, Status>> + Send + Sync + 'static;
type MessageImageStreamStream: Stream<Item = Result<MessageImageStreamResponse, Status>> + Send + Sync + 'static;
Show 56 methods
fn start<'life0, 'async_trait>(
&'life0 self,
request: Request<StartRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<StartResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn stop<'life0, 'async_trait>(
&'life0 self,
request: Request<StopRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<StopResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn logout<'life0, 'async_trait>(
&'life0 self,
request: Request<LogoutRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<LogoutResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn ding<'life0, 'async_trait>(
&'life0 self,
request: Request<DingRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DingResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn version<'life0, 'async_trait>(
&'life0 self,
request: Request<VersionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<VersionResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn event<'life0, 'async_trait>(
&'life0 self,
request: Request<EventRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::EventStream>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn dirty_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<DirtyPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DirtyPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_self_qr_code<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfQrCodeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfQrCodeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_self_name<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfNameRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfNameResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_self_signature<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfSignatureRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfSignatureResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_alias<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactAliasRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactAliasResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_avatar<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactAvatarRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactAvatarResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_phone<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactPhoneRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactPhoneResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_corporation_remark<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactCorporationRemarkRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactCorporationRemarkResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_description<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactDescriptionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactDescriptionResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn contact_list<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactListResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn friendship_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn friendship_search_phone<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipSearchPhoneRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipSearchPhoneResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn friendship_search_weixin<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipSearchWeixinRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipSearchWeixinResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn friendship_add<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipAddResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn friendship_accept<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipAcceptRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipAcceptResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageFileResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_image<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageImageRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageImageResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendFileResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<MessagePayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessagePayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_contact<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageContactRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageContactResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_file_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageFileStreamRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::MessageFileStreamStream>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_image_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageImageStreamRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::MessageImageStreamStream>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_mini_program<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageMiniProgramRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageMiniProgramResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_url<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageUrlRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageUrlResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_recall<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageRecallRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageRecallResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_forward<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageForwardRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageForwardResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_contact<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendContactRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendContactResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_file_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<MessageSendFileStreamRequest>>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendFileStreamResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_text<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendTextRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendTextResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_mini_program<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendMiniProgramRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendMiniProgramResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn message_send_url<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendUrlRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendUrlResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_list<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomListResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_add<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAddResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_avatar<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAvatarRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAvatarResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_create<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomCreateRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomCreateResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_del<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomDelRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomDelResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_quit<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomQuitRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomQuitResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_topic<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomTopicRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomTopicResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_qr_code<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomQrCodeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomQrCodeResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_announce<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAnnounceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAnnounceResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_member_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomMemberPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomMemberPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_member_list<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomMemberListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomMemberListResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_invitation_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomInvitationPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomInvitationPayloadResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn room_invitation_accept<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomInvitationAcceptRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomInvitationAcceptResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn tag_contact_add<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactAddResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn tag_contact_remove<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactRemoveRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactRemoveResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn tag_contact_delete<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactDeleteRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactDeleteResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn tag_contact_list<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactListResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Generated trait containing gRPC methods that should be implemented for use with PuppetServer.
Associated Types
type EventStream: Stream<Item = Result<EventResponse, Status>> + Send + Sync + 'static
type EventStream: Stream<Item = Result<EventResponse, Status>> + Send + Sync + 'static
Server streaming response type for the Event method.
type MessageFileStreamStream: Stream<Item = Result<MessageFileStreamResponse, Status>> + Send + Sync + 'static
type MessageFileStreamStream: Stream<Item = Result<MessageFileStreamResponse, Status>> + Send + Sync + 'static
Server streaming response type for the MessageFileStream method.
type MessageImageStreamStream: Stream<Item = Result<MessageImageStreamResponse, Status>> + Send + Sync + 'static
type MessageImageStreamStream: Stream<Item = Result<MessageImageStreamResponse, Status>> + Send + Sync + 'static
Server streaming response type for the MessageImageStream method.
Required methods
Base
fn stop<'life0, 'async_trait>(
&'life0 self,
request: Request<StopRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<StopResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn logout<'life0, 'async_trait>(
&'life0 self,
request: Request<LogoutRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<LogoutResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn ding<'life0, 'async_trait>(
&'life0 self,
request: Request<DingRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DingResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn version<'life0, 'async_trait>(
&'life0 self,
request: Request<VersionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<VersionResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Event - Server Stream
fn dirty_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<DirtyPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<DirtyPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_self_qr_code<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfQrCodeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfQrCodeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_self_qr_code<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfQrCodeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfQrCodeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Contact Self
fn contact_self_name<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfNameRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfNameResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_self_signature<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactSelfSignatureRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactSelfSignatureResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Contact
fn contact_alias<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactAliasRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactAliasResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_avatar<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactAvatarRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactAvatarResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_phone<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactPhoneRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactPhoneResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_corporation_remark<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactCorporationRemarkRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactCorporationRemarkResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_description<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactDescriptionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactDescriptionResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_list<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactListResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn contact_list<'life0, 'async_trait>(
&'life0 self,
request: Request<ContactListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ContactListResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Huan(202002): consider changing response to a stream in the future for better performance
fn friendship_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn friendship_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Friendship
fn friendship_search_phone<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipSearchPhoneRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipSearchPhoneResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn friendship_search_weixin<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipSearchWeixinRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipSearchWeixinResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn friendship_add<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipAddResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn friendship_accept<'life0, 'async_trait>(
&'life0 self,
request: Request<FriendshipAcceptRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<FriendshipAcceptResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageFileResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageFileResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
@deprecated: using MessageFileStream to transfer files Huan(202010): will be removed (replaced by MessageFileStream) after Dec 31, 2021
fn message_image<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageImageRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageImageResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_image<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageImageRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageImageResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
@deprecated: using MessageImageStream to transfer images Huan(202010): will be removed (replaced by MessageImageStream) after Dec 31, 2021
fn message_send_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendFileResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_file<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendFileRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendFileResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
@deprecated: using MesageSendFileStream to transfer file message to server Huan(202010): will be removed (replaced by MessageSendFileStream) after Dec 31, 2021
fn message_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<MessagePayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessagePayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_contact<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageContactRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageContactResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_file_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageFileStreamRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::MessageFileStreamStream>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_image_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageImageStreamRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<Self::MessageImageStreamStream>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_mini_program<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageMiniProgramRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageMiniProgramResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_url<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageUrlRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageUrlResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_recall<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageRecallRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageRecallResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_forward<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageForwardRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageForwardResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_contact<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendContactRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendContactResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_file_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<Streaming<MessageSendFileStreamRequest>>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendFileStreamResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_text<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendTextRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendTextResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_mini_program<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendMiniProgramRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendMiniProgramResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn message_send_url<'life0, 'async_trait>(
&'life0 self,
request: Request<MessageSendUrlRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<MessageSendUrlResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Room
fn room_list<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomListResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_add<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAddResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_avatar<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAvatarRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAvatarResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_create<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomCreateRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomCreateResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_del<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomDelRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomDelResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_quit<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomQuitRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomQuitResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_topic<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomTopicRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomTopicResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_qr_code<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomQrCodeRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomQrCodeResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_announce<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomAnnounceRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomAnnounceResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_member_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomMemberPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomMemberPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_member_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomMemberPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomMemberPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Room Member
fn room_member_list<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomMemberListRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomMemberListResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_invitation_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomInvitationPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomInvitationPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn room_invitation_payload<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomInvitationPayloadRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomInvitationPayloadResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Room Invitation
fn room_invitation_accept<'life0, 'async_trait>(
&'life0 self,
request: Request<RoomInvitationAcceptRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<RoomInvitationAcceptResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn tag_contact_add<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactAddResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn tag_contact_add<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactAddRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactAddResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Tag
fn tag_contact_remove<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactRemoveRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactRemoveResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn tag_contact_delete<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactDeleteRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactDeleteResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn tag_contact_delete<'life0, 'async_trait>(
&'life0 self,
request: Request<TagContactDeleteRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<TagContactDeleteResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Operate Sub-Collections https://cloud.google.com/apis/design/design_patterns#list_sub-collections