1#[cfg(feature = "messages_enums")]
7#[cfg(any(feature = "client", feature = "broker"))]
8use crate::protocol::Decodable;
9#[cfg(feature = "messages_enums")]
10#[cfg(any(feature = "client", feature = "broker"))]
11use crate::protocol::Encodable;
12#[cfg(all(feature = "client", feature = "broker"))]
13use crate::protocol::Request;
14use crate::protocol::VersionRange;
15use crate::protocol::{HeaderVersion, NewType, StrBytes};
16#[cfg(feature = "messages_enums")]
17#[cfg(any(feature = "client", feature = "broker"))]
18use anyhow::Context;
19use anyhow::Result;
20use std::convert::TryFrom;
21
22pub mod consumer_protocol_assignment;
23pub use consumer_protocol_assignment::ConsumerProtocolAssignment;
24
25pub mod consumer_protocol_subscription;
26pub use consumer_protocol_subscription::ConsumerProtocolSubscription;
27
28pub mod default_principal_data;
29pub use default_principal_data::DefaultPrincipalData;
30
31pub mod k_raft_version_record;
32pub use k_raft_version_record::KRaftVersionRecord;
33
34pub mod leader_change_message;
35pub use leader_change_message::LeaderChangeMessage;
36
37pub mod request_header;
38pub use request_header::RequestHeader;
39
40pub mod response_header;
41pub use response_header::ResponseHeader;
42
43pub mod snapshot_footer_record;
44pub use snapshot_footer_record::SnapshotFooterRecord;
45
46pub mod snapshot_header_record;
47pub use snapshot_header_record::SnapshotHeaderRecord;
48
49pub mod voters_record;
50pub use voters_record::VotersRecord;
51
52pub mod produce_request;
53pub use produce_request::ProduceRequest;
54
55pub mod fetch_request;
56pub use fetch_request::FetchRequest;
57
58pub mod list_offsets_request;
59pub use list_offsets_request::ListOffsetsRequest;
60
61pub mod metadata_request;
62pub use metadata_request::MetadataRequest;
63
64pub mod leader_and_isr_request;
65pub use leader_and_isr_request::LeaderAndIsrRequest;
66
67pub mod stop_replica_request;
68pub use stop_replica_request::StopReplicaRequest;
69
70pub mod update_metadata_request;
71pub use update_metadata_request::UpdateMetadataRequest;
72
73pub mod controlled_shutdown_request;
74pub use controlled_shutdown_request::ControlledShutdownRequest;
75
76pub mod offset_commit_request;
77pub use offset_commit_request::OffsetCommitRequest;
78
79pub mod offset_fetch_request;
80pub use offset_fetch_request::OffsetFetchRequest;
81
82pub mod find_coordinator_request;
83pub use find_coordinator_request::FindCoordinatorRequest;
84
85pub mod join_group_request;
86pub use join_group_request::JoinGroupRequest;
87
88pub mod heartbeat_request;
89pub use heartbeat_request::HeartbeatRequest;
90
91pub mod leave_group_request;
92pub use leave_group_request::LeaveGroupRequest;
93
94pub mod sync_group_request;
95pub use sync_group_request::SyncGroupRequest;
96
97pub mod describe_groups_request;
98pub use describe_groups_request::DescribeGroupsRequest;
99
100pub mod list_groups_request;
101pub use list_groups_request::ListGroupsRequest;
102
103pub mod sasl_handshake_request;
104pub use sasl_handshake_request::SaslHandshakeRequest;
105
106pub mod api_versions_request;
107pub use api_versions_request::ApiVersionsRequest;
108
109pub mod create_topics_request;
110pub use create_topics_request::CreateTopicsRequest;
111
112pub mod delete_topics_request;
113pub use delete_topics_request::DeleteTopicsRequest;
114
115pub mod delete_records_request;
116pub use delete_records_request::DeleteRecordsRequest;
117
118pub mod init_producer_id_request;
119pub use init_producer_id_request::InitProducerIdRequest;
120
121pub mod offset_for_leader_epoch_request;
122pub use offset_for_leader_epoch_request::OffsetForLeaderEpochRequest;
123
124pub mod add_partitions_to_txn_request;
125pub use add_partitions_to_txn_request::AddPartitionsToTxnRequest;
126
127pub mod add_offsets_to_txn_request;
128pub use add_offsets_to_txn_request::AddOffsetsToTxnRequest;
129
130pub mod end_txn_request;
131pub use end_txn_request::EndTxnRequest;
132
133pub mod write_txn_markers_request;
134pub use write_txn_markers_request::WriteTxnMarkersRequest;
135
136pub mod txn_offset_commit_request;
137pub use txn_offset_commit_request::TxnOffsetCommitRequest;
138
139pub mod describe_acls_request;
140pub use describe_acls_request::DescribeAclsRequest;
141
142pub mod create_acls_request;
143pub use create_acls_request::CreateAclsRequest;
144
145pub mod delete_acls_request;
146pub use delete_acls_request::DeleteAclsRequest;
147
148pub mod describe_configs_request;
149pub use describe_configs_request::DescribeConfigsRequest;
150
151pub mod alter_configs_request;
152pub use alter_configs_request::AlterConfigsRequest;
153
154pub mod alter_replica_log_dirs_request;
155pub use alter_replica_log_dirs_request::AlterReplicaLogDirsRequest;
156
157pub mod describe_log_dirs_request;
158pub use describe_log_dirs_request::DescribeLogDirsRequest;
159
160pub mod sasl_authenticate_request;
161pub use sasl_authenticate_request::SaslAuthenticateRequest;
162
163pub mod create_partitions_request;
164pub use create_partitions_request::CreatePartitionsRequest;
165
166pub mod create_delegation_token_request;
167pub use create_delegation_token_request::CreateDelegationTokenRequest;
168
169pub mod renew_delegation_token_request;
170pub use renew_delegation_token_request::RenewDelegationTokenRequest;
171
172pub mod expire_delegation_token_request;
173pub use expire_delegation_token_request::ExpireDelegationTokenRequest;
174
175pub mod describe_delegation_token_request;
176pub use describe_delegation_token_request::DescribeDelegationTokenRequest;
177
178pub mod delete_groups_request;
179pub use delete_groups_request::DeleteGroupsRequest;
180
181pub mod elect_leaders_request;
182pub use elect_leaders_request::ElectLeadersRequest;
183
184pub mod incremental_alter_configs_request;
185pub use incremental_alter_configs_request::IncrementalAlterConfigsRequest;
186
187pub mod alter_partition_reassignments_request;
188pub use alter_partition_reassignments_request::AlterPartitionReassignmentsRequest;
189
190pub mod list_partition_reassignments_request;
191pub use list_partition_reassignments_request::ListPartitionReassignmentsRequest;
192
193pub mod offset_delete_request;
194pub use offset_delete_request::OffsetDeleteRequest;
195
196pub mod describe_client_quotas_request;
197pub use describe_client_quotas_request::DescribeClientQuotasRequest;
198
199pub mod alter_client_quotas_request;
200pub use alter_client_quotas_request::AlterClientQuotasRequest;
201
202pub mod describe_user_scram_credentials_request;
203pub use describe_user_scram_credentials_request::DescribeUserScramCredentialsRequest;
204
205pub mod alter_user_scram_credentials_request;
206pub use alter_user_scram_credentials_request::AlterUserScramCredentialsRequest;
207
208pub mod vote_request;
209pub use vote_request::VoteRequest;
210
211pub mod begin_quorum_epoch_request;
212pub use begin_quorum_epoch_request::BeginQuorumEpochRequest;
213
214pub mod end_quorum_epoch_request;
215pub use end_quorum_epoch_request::EndQuorumEpochRequest;
216
217pub mod describe_quorum_request;
218pub use describe_quorum_request::DescribeQuorumRequest;
219
220pub mod alter_partition_request;
221pub use alter_partition_request::AlterPartitionRequest;
222
223pub mod update_features_request;
224pub use update_features_request::UpdateFeaturesRequest;
225
226pub mod envelope_request;
227pub use envelope_request::EnvelopeRequest;
228
229pub mod fetch_snapshot_request;
230pub use fetch_snapshot_request::FetchSnapshotRequest;
231
232pub mod describe_cluster_request;
233pub use describe_cluster_request::DescribeClusterRequest;
234
235pub mod describe_producers_request;
236pub use describe_producers_request::DescribeProducersRequest;
237
238pub mod broker_registration_request;
239pub use broker_registration_request::BrokerRegistrationRequest;
240
241pub mod broker_heartbeat_request;
242pub use broker_heartbeat_request::BrokerHeartbeatRequest;
243
244pub mod unregister_broker_request;
245pub use unregister_broker_request::UnregisterBrokerRequest;
246
247pub mod describe_transactions_request;
248pub use describe_transactions_request::DescribeTransactionsRequest;
249
250pub mod list_transactions_request;
251pub use list_transactions_request::ListTransactionsRequest;
252
253pub mod allocate_producer_ids_request;
254pub use allocate_producer_ids_request::AllocateProducerIdsRequest;
255
256pub mod consumer_group_heartbeat_request;
257pub use consumer_group_heartbeat_request::ConsumerGroupHeartbeatRequest;
258
259pub mod consumer_group_describe_request;
260pub use consumer_group_describe_request::ConsumerGroupDescribeRequest;
261
262pub mod controller_registration_request;
263pub use controller_registration_request::ControllerRegistrationRequest;
264
265pub mod get_telemetry_subscriptions_request;
266pub use get_telemetry_subscriptions_request::GetTelemetrySubscriptionsRequest;
267
268pub mod push_telemetry_request;
269pub use push_telemetry_request::PushTelemetryRequest;
270
271pub mod assign_replicas_to_dirs_request;
272pub use assign_replicas_to_dirs_request::AssignReplicasToDirsRequest;
273
274pub mod list_client_metrics_resources_request;
275pub use list_client_metrics_resources_request::ListClientMetricsResourcesRequest;
276
277pub mod describe_topic_partitions_request;
278pub use describe_topic_partitions_request::DescribeTopicPartitionsRequest;
279
280pub mod add_raft_voter_request;
281pub use add_raft_voter_request::AddRaftVoterRequest;
282
283pub mod remove_raft_voter_request;
284pub use remove_raft_voter_request::RemoveRaftVoterRequest;
285
286pub mod update_raft_voter_request;
287pub use update_raft_voter_request::UpdateRaftVoterRequest;
288
289pub mod produce_response;
290pub use produce_response::ProduceResponse;
291
292pub mod fetch_response;
293pub use fetch_response::FetchResponse;
294
295pub mod list_offsets_response;
296pub use list_offsets_response::ListOffsetsResponse;
297
298pub mod metadata_response;
299pub use metadata_response::MetadataResponse;
300
301pub mod leader_and_isr_response;
302pub use leader_and_isr_response::LeaderAndIsrResponse;
303
304pub mod stop_replica_response;
305pub use stop_replica_response::StopReplicaResponse;
306
307pub mod update_metadata_response;
308pub use update_metadata_response::UpdateMetadataResponse;
309
310pub mod controlled_shutdown_response;
311pub use controlled_shutdown_response::ControlledShutdownResponse;
312
313pub mod offset_commit_response;
314pub use offset_commit_response::OffsetCommitResponse;
315
316pub mod offset_fetch_response;
317pub use offset_fetch_response::OffsetFetchResponse;
318
319pub mod find_coordinator_response;
320pub use find_coordinator_response::FindCoordinatorResponse;
321
322pub mod join_group_response;
323pub use join_group_response::JoinGroupResponse;
324
325pub mod heartbeat_response;
326pub use heartbeat_response::HeartbeatResponse;
327
328pub mod leave_group_response;
329pub use leave_group_response::LeaveGroupResponse;
330
331pub mod sync_group_response;
332pub use sync_group_response::SyncGroupResponse;
333
334pub mod describe_groups_response;
335pub use describe_groups_response::DescribeGroupsResponse;
336
337pub mod list_groups_response;
338pub use list_groups_response::ListGroupsResponse;
339
340pub mod sasl_handshake_response;
341pub use sasl_handshake_response::SaslHandshakeResponse;
342
343pub mod api_versions_response;
344pub use api_versions_response::ApiVersionsResponse;
345
346pub mod create_topics_response;
347pub use create_topics_response::CreateTopicsResponse;
348
349pub mod delete_topics_response;
350pub use delete_topics_response::DeleteTopicsResponse;
351
352pub mod delete_records_response;
353pub use delete_records_response::DeleteRecordsResponse;
354
355pub mod init_producer_id_response;
356pub use init_producer_id_response::InitProducerIdResponse;
357
358pub mod offset_for_leader_epoch_response;
359pub use offset_for_leader_epoch_response::OffsetForLeaderEpochResponse;
360
361pub mod add_partitions_to_txn_response;
362pub use add_partitions_to_txn_response::AddPartitionsToTxnResponse;
363
364pub mod add_offsets_to_txn_response;
365pub use add_offsets_to_txn_response::AddOffsetsToTxnResponse;
366
367pub mod end_txn_response;
368pub use end_txn_response::EndTxnResponse;
369
370pub mod write_txn_markers_response;
371pub use write_txn_markers_response::WriteTxnMarkersResponse;
372
373pub mod txn_offset_commit_response;
374pub use txn_offset_commit_response::TxnOffsetCommitResponse;
375
376pub mod describe_acls_response;
377pub use describe_acls_response::DescribeAclsResponse;
378
379pub mod create_acls_response;
380pub use create_acls_response::CreateAclsResponse;
381
382pub mod delete_acls_response;
383pub use delete_acls_response::DeleteAclsResponse;
384
385pub mod describe_configs_response;
386pub use describe_configs_response::DescribeConfigsResponse;
387
388pub mod alter_configs_response;
389pub use alter_configs_response::AlterConfigsResponse;
390
391pub mod alter_replica_log_dirs_response;
392pub use alter_replica_log_dirs_response::AlterReplicaLogDirsResponse;
393
394pub mod describe_log_dirs_response;
395pub use describe_log_dirs_response::DescribeLogDirsResponse;
396
397pub mod sasl_authenticate_response;
398pub use sasl_authenticate_response::SaslAuthenticateResponse;
399
400pub mod create_partitions_response;
401pub use create_partitions_response::CreatePartitionsResponse;
402
403pub mod create_delegation_token_response;
404pub use create_delegation_token_response::CreateDelegationTokenResponse;
405
406pub mod renew_delegation_token_response;
407pub use renew_delegation_token_response::RenewDelegationTokenResponse;
408
409pub mod expire_delegation_token_response;
410pub use expire_delegation_token_response::ExpireDelegationTokenResponse;
411
412pub mod describe_delegation_token_response;
413pub use describe_delegation_token_response::DescribeDelegationTokenResponse;
414
415pub mod delete_groups_response;
416pub use delete_groups_response::DeleteGroupsResponse;
417
418pub mod elect_leaders_response;
419pub use elect_leaders_response::ElectLeadersResponse;
420
421pub mod incremental_alter_configs_response;
422pub use incremental_alter_configs_response::IncrementalAlterConfigsResponse;
423
424pub mod alter_partition_reassignments_response;
425pub use alter_partition_reassignments_response::AlterPartitionReassignmentsResponse;
426
427pub mod list_partition_reassignments_response;
428pub use list_partition_reassignments_response::ListPartitionReassignmentsResponse;
429
430pub mod offset_delete_response;
431pub use offset_delete_response::OffsetDeleteResponse;
432
433pub mod describe_client_quotas_response;
434pub use describe_client_quotas_response::DescribeClientQuotasResponse;
435
436pub mod alter_client_quotas_response;
437pub use alter_client_quotas_response::AlterClientQuotasResponse;
438
439pub mod describe_user_scram_credentials_response;
440pub use describe_user_scram_credentials_response::DescribeUserScramCredentialsResponse;
441
442pub mod alter_user_scram_credentials_response;
443pub use alter_user_scram_credentials_response::AlterUserScramCredentialsResponse;
444
445pub mod vote_response;
446pub use vote_response::VoteResponse;
447
448pub mod begin_quorum_epoch_response;
449pub use begin_quorum_epoch_response::BeginQuorumEpochResponse;
450
451pub mod end_quorum_epoch_response;
452pub use end_quorum_epoch_response::EndQuorumEpochResponse;
453
454pub mod describe_quorum_response;
455pub use describe_quorum_response::DescribeQuorumResponse;
456
457pub mod alter_partition_response;
458pub use alter_partition_response::AlterPartitionResponse;
459
460pub mod update_features_response;
461pub use update_features_response::UpdateFeaturesResponse;
462
463pub mod envelope_response;
464pub use envelope_response::EnvelopeResponse;
465
466pub mod fetch_snapshot_response;
467pub use fetch_snapshot_response::FetchSnapshotResponse;
468
469pub mod describe_cluster_response;
470pub use describe_cluster_response::DescribeClusterResponse;
471
472pub mod describe_producers_response;
473pub use describe_producers_response::DescribeProducersResponse;
474
475pub mod broker_registration_response;
476pub use broker_registration_response::BrokerRegistrationResponse;
477
478pub mod broker_heartbeat_response;
479pub use broker_heartbeat_response::BrokerHeartbeatResponse;
480
481pub mod unregister_broker_response;
482pub use unregister_broker_response::UnregisterBrokerResponse;
483
484pub mod describe_transactions_response;
485pub use describe_transactions_response::DescribeTransactionsResponse;
486
487pub mod list_transactions_response;
488pub use list_transactions_response::ListTransactionsResponse;
489
490pub mod allocate_producer_ids_response;
491pub use allocate_producer_ids_response::AllocateProducerIdsResponse;
492
493pub mod consumer_group_heartbeat_response;
494pub use consumer_group_heartbeat_response::ConsumerGroupHeartbeatResponse;
495
496pub mod consumer_group_describe_response;
497pub use consumer_group_describe_response::ConsumerGroupDescribeResponse;
498
499pub mod controller_registration_response;
500pub use controller_registration_response::ControllerRegistrationResponse;
501
502pub mod get_telemetry_subscriptions_response;
503pub use get_telemetry_subscriptions_response::GetTelemetrySubscriptionsResponse;
504
505pub mod push_telemetry_response;
506pub use push_telemetry_response::PushTelemetryResponse;
507
508pub mod assign_replicas_to_dirs_response;
509pub use assign_replicas_to_dirs_response::AssignReplicasToDirsResponse;
510
511pub mod list_client_metrics_resources_response;
512pub use list_client_metrics_resources_response::ListClientMetricsResourcesResponse;
513
514pub mod describe_topic_partitions_response;
515pub use describe_topic_partitions_response::DescribeTopicPartitionsResponse;
516
517pub mod add_raft_voter_response;
518pub use add_raft_voter_response::AddRaftVoterResponse;
519
520pub mod remove_raft_voter_response;
521pub use remove_raft_voter_response::RemoveRaftVoterResponse;
522
523pub mod update_raft_voter_response;
524pub use update_raft_voter_response::UpdateRaftVoterResponse;
525
526#[cfg(all(feature = "client", feature = "broker"))]
527impl Request for ProduceRequest {
528 const KEY: i16 = 0;
529 type Response = ProduceResponse;
530}
531
532#[cfg(all(feature = "client", feature = "broker"))]
533impl Request for FetchRequest {
534 const KEY: i16 = 1;
535 type Response = FetchResponse;
536}
537
538#[cfg(all(feature = "client", feature = "broker"))]
539impl Request for ListOffsetsRequest {
540 const KEY: i16 = 2;
541 type Response = ListOffsetsResponse;
542}
543
544#[cfg(all(feature = "client", feature = "broker"))]
545impl Request for MetadataRequest {
546 const KEY: i16 = 3;
547 type Response = MetadataResponse;
548}
549
550#[cfg(all(feature = "client", feature = "broker"))]
551impl Request for LeaderAndIsrRequest {
552 const KEY: i16 = 4;
553 type Response = LeaderAndIsrResponse;
554}
555
556#[cfg(all(feature = "client", feature = "broker"))]
557impl Request for StopReplicaRequest {
558 const KEY: i16 = 5;
559 type Response = StopReplicaResponse;
560}
561
562#[cfg(all(feature = "client", feature = "broker"))]
563impl Request for UpdateMetadataRequest {
564 const KEY: i16 = 6;
565 type Response = UpdateMetadataResponse;
566}
567
568#[cfg(all(feature = "client", feature = "broker"))]
569impl Request for ControlledShutdownRequest {
570 const KEY: i16 = 7;
571 type Response = ControlledShutdownResponse;
572}
573
574#[cfg(all(feature = "client", feature = "broker"))]
575impl Request for OffsetCommitRequest {
576 const KEY: i16 = 8;
577 type Response = OffsetCommitResponse;
578}
579
580#[cfg(all(feature = "client", feature = "broker"))]
581impl Request for OffsetFetchRequest {
582 const KEY: i16 = 9;
583 type Response = OffsetFetchResponse;
584}
585
586#[cfg(all(feature = "client", feature = "broker"))]
587impl Request for FindCoordinatorRequest {
588 const KEY: i16 = 10;
589 type Response = FindCoordinatorResponse;
590}
591
592#[cfg(all(feature = "client", feature = "broker"))]
593impl Request for JoinGroupRequest {
594 const KEY: i16 = 11;
595 type Response = JoinGroupResponse;
596}
597
598#[cfg(all(feature = "client", feature = "broker"))]
599impl Request for HeartbeatRequest {
600 const KEY: i16 = 12;
601 type Response = HeartbeatResponse;
602}
603
604#[cfg(all(feature = "client", feature = "broker"))]
605impl Request for LeaveGroupRequest {
606 const KEY: i16 = 13;
607 type Response = LeaveGroupResponse;
608}
609
610#[cfg(all(feature = "client", feature = "broker"))]
611impl Request for SyncGroupRequest {
612 const KEY: i16 = 14;
613 type Response = SyncGroupResponse;
614}
615
616#[cfg(all(feature = "client", feature = "broker"))]
617impl Request for DescribeGroupsRequest {
618 const KEY: i16 = 15;
619 type Response = DescribeGroupsResponse;
620}
621
622#[cfg(all(feature = "client", feature = "broker"))]
623impl Request for ListGroupsRequest {
624 const KEY: i16 = 16;
625 type Response = ListGroupsResponse;
626}
627
628#[cfg(all(feature = "client", feature = "broker"))]
629impl Request for SaslHandshakeRequest {
630 const KEY: i16 = 17;
631 type Response = SaslHandshakeResponse;
632}
633
634#[cfg(all(feature = "client", feature = "broker"))]
635impl Request for ApiVersionsRequest {
636 const KEY: i16 = 18;
637 type Response = ApiVersionsResponse;
638}
639
640#[cfg(all(feature = "client", feature = "broker"))]
641impl Request for CreateTopicsRequest {
642 const KEY: i16 = 19;
643 type Response = CreateTopicsResponse;
644}
645
646#[cfg(all(feature = "client", feature = "broker"))]
647impl Request for DeleteTopicsRequest {
648 const KEY: i16 = 20;
649 type Response = DeleteTopicsResponse;
650}
651
652#[cfg(all(feature = "client", feature = "broker"))]
653impl Request for DeleteRecordsRequest {
654 const KEY: i16 = 21;
655 type Response = DeleteRecordsResponse;
656}
657
658#[cfg(all(feature = "client", feature = "broker"))]
659impl Request for InitProducerIdRequest {
660 const KEY: i16 = 22;
661 type Response = InitProducerIdResponse;
662}
663
664#[cfg(all(feature = "client", feature = "broker"))]
665impl Request for OffsetForLeaderEpochRequest {
666 const KEY: i16 = 23;
667 type Response = OffsetForLeaderEpochResponse;
668}
669
670#[cfg(all(feature = "client", feature = "broker"))]
671impl Request for AddPartitionsToTxnRequest {
672 const KEY: i16 = 24;
673 type Response = AddPartitionsToTxnResponse;
674}
675
676#[cfg(all(feature = "client", feature = "broker"))]
677impl Request for AddOffsetsToTxnRequest {
678 const KEY: i16 = 25;
679 type Response = AddOffsetsToTxnResponse;
680}
681
682#[cfg(all(feature = "client", feature = "broker"))]
683impl Request for EndTxnRequest {
684 const KEY: i16 = 26;
685 type Response = EndTxnResponse;
686}
687
688#[cfg(all(feature = "client", feature = "broker"))]
689impl Request for WriteTxnMarkersRequest {
690 const KEY: i16 = 27;
691 type Response = WriteTxnMarkersResponse;
692}
693
694#[cfg(all(feature = "client", feature = "broker"))]
695impl Request for TxnOffsetCommitRequest {
696 const KEY: i16 = 28;
697 type Response = TxnOffsetCommitResponse;
698}
699
700#[cfg(all(feature = "client", feature = "broker"))]
701impl Request for DescribeAclsRequest {
702 const KEY: i16 = 29;
703 type Response = DescribeAclsResponse;
704}
705
706#[cfg(all(feature = "client", feature = "broker"))]
707impl Request for CreateAclsRequest {
708 const KEY: i16 = 30;
709 type Response = CreateAclsResponse;
710}
711
712#[cfg(all(feature = "client", feature = "broker"))]
713impl Request for DeleteAclsRequest {
714 const KEY: i16 = 31;
715 type Response = DeleteAclsResponse;
716}
717
718#[cfg(all(feature = "client", feature = "broker"))]
719impl Request for DescribeConfigsRequest {
720 const KEY: i16 = 32;
721 type Response = DescribeConfigsResponse;
722}
723
724#[cfg(all(feature = "client", feature = "broker"))]
725impl Request for AlterConfigsRequest {
726 const KEY: i16 = 33;
727 type Response = AlterConfigsResponse;
728}
729
730#[cfg(all(feature = "client", feature = "broker"))]
731impl Request for AlterReplicaLogDirsRequest {
732 const KEY: i16 = 34;
733 type Response = AlterReplicaLogDirsResponse;
734}
735
736#[cfg(all(feature = "client", feature = "broker"))]
737impl Request for DescribeLogDirsRequest {
738 const KEY: i16 = 35;
739 type Response = DescribeLogDirsResponse;
740}
741
742#[cfg(all(feature = "client", feature = "broker"))]
743impl Request for SaslAuthenticateRequest {
744 const KEY: i16 = 36;
745 type Response = SaslAuthenticateResponse;
746}
747
748#[cfg(all(feature = "client", feature = "broker"))]
749impl Request for CreatePartitionsRequest {
750 const KEY: i16 = 37;
751 type Response = CreatePartitionsResponse;
752}
753
754#[cfg(all(feature = "client", feature = "broker"))]
755impl Request for CreateDelegationTokenRequest {
756 const KEY: i16 = 38;
757 type Response = CreateDelegationTokenResponse;
758}
759
760#[cfg(all(feature = "client", feature = "broker"))]
761impl Request for RenewDelegationTokenRequest {
762 const KEY: i16 = 39;
763 type Response = RenewDelegationTokenResponse;
764}
765
766#[cfg(all(feature = "client", feature = "broker"))]
767impl Request for ExpireDelegationTokenRequest {
768 const KEY: i16 = 40;
769 type Response = ExpireDelegationTokenResponse;
770}
771
772#[cfg(all(feature = "client", feature = "broker"))]
773impl Request for DescribeDelegationTokenRequest {
774 const KEY: i16 = 41;
775 type Response = DescribeDelegationTokenResponse;
776}
777
778#[cfg(all(feature = "client", feature = "broker"))]
779impl Request for DeleteGroupsRequest {
780 const KEY: i16 = 42;
781 type Response = DeleteGroupsResponse;
782}
783
784#[cfg(all(feature = "client", feature = "broker"))]
785impl Request for ElectLeadersRequest {
786 const KEY: i16 = 43;
787 type Response = ElectLeadersResponse;
788}
789
790#[cfg(all(feature = "client", feature = "broker"))]
791impl Request for IncrementalAlterConfigsRequest {
792 const KEY: i16 = 44;
793 type Response = IncrementalAlterConfigsResponse;
794}
795
796#[cfg(all(feature = "client", feature = "broker"))]
797impl Request for AlterPartitionReassignmentsRequest {
798 const KEY: i16 = 45;
799 type Response = AlterPartitionReassignmentsResponse;
800}
801
802#[cfg(all(feature = "client", feature = "broker"))]
803impl Request for ListPartitionReassignmentsRequest {
804 const KEY: i16 = 46;
805 type Response = ListPartitionReassignmentsResponse;
806}
807
808#[cfg(all(feature = "client", feature = "broker"))]
809impl Request for OffsetDeleteRequest {
810 const KEY: i16 = 47;
811 type Response = OffsetDeleteResponse;
812}
813
814#[cfg(all(feature = "client", feature = "broker"))]
815impl Request for DescribeClientQuotasRequest {
816 const KEY: i16 = 48;
817 type Response = DescribeClientQuotasResponse;
818}
819
820#[cfg(all(feature = "client", feature = "broker"))]
821impl Request for AlterClientQuotasRequest {
822 const KEY: i16 = 49;
823 type Response = AlterClientQuotasResponse;
824}
825
826#[cfg(all(feature = "client", feature = "broker"))]
827impl Request for DescribeUserScramCredentialsRequest {
828 const KEY: i16 = 50;
829 type Response = DescribeUserScramCredentialsResponse;
830}
831
832#[cfg(all(feature = "client", feature = "broker"))]
833impl Request for AlterUserScramCredentialsRequest {
834 const KEY: i16 = 51;
835 type Response = AlterUserScramCredentialsResponse;
836}
837
838#[cfg(all(feature = "client", feature = "broker"))]
839impl Request for VoteRequest {
840 const KEY: i16 = 52;
841 type Response = VoteResponse;
842}
843
844#[cfg(all(feature = "client", feature = "broker"))]
845impl Request for BeginQuorumEpochRequest {
846 const KEY: i16 = 53;
847 type Response = BeginQuorumEpochResponse;
848}
849
850#[cfg(all(feature = "client", feature = "broker"))]
851impl Request for EndQuorumEpochRequest {
852 const KEY: i16 = 54;
853 type Response = EndQuorumEpochResponse;
854}
855
856#[cfg(all(feature = "client", feature = "broker"))]
857impl Request for DescribeQuorumRequest {
858 const KEY: i16 = 55;
859 type Response = DescribeQuorumResponse;
860}
861
862#[cfg(all(feature = "client", feature = "broker"))]
863impl Request for AlterPartitionRequest {
864 const KEY: i16 = 56;
865 type Response = AlterPartitionResponse;
866}
867
868#[cfg(all(feature = "client", feature = "broker"))]
869impl Request for UpdateFeaturesRequest {
870 const KEY: i16 = 57;
871 type Response = UpdateFeaturesResponse;
872}
873
874#[cfg(all(feature = "client", feature = "broker"))]
875impl Request for EnvelopeRequest {
876 const KEY: i16 = 58;
877 type Response = EnvelopeResponse;
878}
879
880#[cfg(all(feature = "client", feature = "broker"))]
881impl Request for FetchSnapshotRequest {
882 const KEY: i16 = 59;
883 type Response = FetchSnapshotResponse;
884}
885
886#[cfg(all(feature = "client", feature = "broker"))]
887impl Request for DescribeClusterRequest {
888 const KEY: i16 = 60;
889 type Response = DescribeClusterResponse;
890}
891
892#[cfg(all(feature = "client", feature = "broker"))]
893impl Request for DescribeProducersRequest {
894 const KEY: i16 = 61;
895 type Response = DescribeProducersResponse;
896}
897
898#[cfg(all(feature = "client", feature = "broker"))]
899impl Request for BrokerRegistrationRequest {
900 const KEY: i16 = 62;
901 type Response = BrokerRegistrationResponse;
902}
903
904#[cfg(all(feature = "client", feature = "broker"))]
905impl Request for BrokerHeartbeatRequest {
906 const KEY: i16 = 63;
907 type Response = BrokerHeartbeatResponse;
908}
909
910#[cfg(all(feature = "client", feature = "broker"))]
911impl Request for UnregisterBrokerRequest {
912 const KEY: i16 = 64;
913 type Response = UnregisterBrokerResponse;
914}
915
916#[cfg(all(feature = "client", feature = "broker"))]
917impl Request for DescribeTransactionsRequest {
918 const KEY: i16 = 65;
919 type Response = DescribeTransactionsResponse;
920}
921
922#[cfg(all(feature = "client", feature = "broker"))]
923impl Request for ListTransactionsRequest {
924 const KEY: i16 = 66;
925 type Response = ListTransactionsResponse;
926}
927
928#[cfg(all(feature = "client", feature = "broker"))]
929impl Request for AllocateProducerIdsRequest {
930 const KEY: i16 = 67;
931 type Response = AllocateProducerIdsResponse;
932}
933
934#[cfg(all(feature = "client", feature = "broker"))]
935impl Request for ConsumerGroupHeartbeatRequest {
936 const KEY: i16 = 68;
937 type Response = ConsumerGroupHeartbeatResponse;
938}
939
940#[cfg(all(feature = "client", feature = "broker"))]
941impl Request for ConsumerGroupDescribeRequest {
942 const KEY: i16 = 69;
943 type Response = ConsumerGroupDescribeResponse;
944}
945
946#[cfg(all(feature = "client", feature = "broker"))]
947impl Request for ControllerRegistrationRequest {
948 const KEY: i16 = 70;
949 type Response = ControllerRegistrationResponse;
950}
951
952#[cfg(all(feature = "client", feature = "broker"))]
953impl Request for GetTelemetrySubscriptionsRequest {
954 const KEY: i16 = 71;
955 type Response = GetTelemetrySubscriptionsResponse;
956}
957
958#[cfg(all(feature = "client", feature = "broker"))]
959impl Request for PushTelemetryRequest {
960 const KEY: i16 = 72;
961 type Response = PushTelemetryResponse;
962}
963
964#[cfg(all(feature = "client", feature = "broker"))]
965impl Request for AssignReplicasToDirsRequest {
966 const KEY: i16 = 73;
967 type Response = AssignReplicasToDirsResponse;
968}
969
970#[cfg(all(feature = "client", feature = "broker"))]
971impl Request for ListClientMetricsResourcesRequest {
972 const KEY: i16 = 74;
973 type Response = ListClientMetricsResourcesResponse;
974}
975
976#[cfg(all(feature = "client", feature = "broker"))]
977impl Request for DescribeTopicPartitionsRequest {
978 const KEY: i16 = 75;
979 type Response = DescribeTopicPartitionsResponse;
980}
981
982#[cfg(all(feature = "client", feature = "broker"))]
983impl Request for AddRaftVoterRequest {
984 const KEY: i16 = 80;
985 type Response = AddRaftVoterResponse;
986}
987
988#[cfg(all(feature = "client", feature = "broker"))]
989impl Request for RemoveRaftVoterRequest {
990 const KEY: i16 = 81;
991 type Response = RemoveRaftVoterResponse;
992}
993
994#[cfg(all(feature = "client", feature = "broker"))]
995impl Request for UpdateRaftVoterRequest {
996 const KEY: i16 = 82;
997 type Response = UpdateRaftVoterResponse;
998}
999
1000#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1002pub enum ApiKey {
1003 Produce = 0,
1005 Fetch = 1,
1007 ListOffsets = 2,
1009 Metadata = 3,
1011 LeaderAndIsr = 4,
1013 StopReplica = 5,
1015 UpdateMetadata = 6,
1017 ControlledShutdown = 7,
1019 OffsetCommit = 8,
1021 OffsetFetch = 9,
1023 FindCoordinator = 10,
1025 JoinGroup = 11,
1027 Heartbeat = 12,
1029 LeaveGroup = 13,
1031 SyncGroup = 14,
1033 DescribeGroups = 15,
1035 ListGroups = 16,
1037 SaslHandshake = 17,
1039 ApiVersions = 18,
1041 CreateTopics = 19,
1043 DeleteTopics = 20,
1045 DeleteRecords = 21,
1047 InitProducerId = 22,
1049 OffsetForLeaderEpoch = 23,
1051 AddPartitionsToTxn = 24,
1053 AddOffsetsToTxn = 25,
1055 EndTxn = 26,
1057 WriteTxnMarkers = 27,
1059 TxnOffsetCommit = 28,
1061 DescribeAcls = 29,
1063 CreateAcls = 30,
1065 DeleteAcls = 31,
1067 DescribeConfigs = 32,
1069 AlterConfigs = 33,
1071 AlterReplicaLogDirs = 34,
1073 DescribeLogDirs = 35,
1075 SaslAuthenticate = 36,
1077 CreatePartitions = 37,
1079 CreateDelegationToken = 38,
1081 RenewDelegationToken = 39,
1083 ExpireDelegationToken = 40,
1085 DescribeDelegationToken = 41,
1087 DeleteGroups = 42,
1089 ElectLeaders = 43,
1091 IncrementalAlterConfigs = 44,
1093 AlterPartitionReassignments = 45,
1095 ListPartitionReassignments = 46,
1097 OffsetDelete = 47,
1099 DescribeClientQuotas = 48,
1101 AlterClientQuotas = 49,
1103 DescribeUserScramCredentials = 50,
1105 AlterUserScramCredentials = 51,
1107 Vote = 52,
1109 BeginQuorumEpoch = 53,
1111 EndQuorumEpoch = 54,
1113 DescribeQuorum = 55,
1115 AlterPartition = 56,
1117 UpdateFeatures = 57,
1119 Envelope = 58,
1121 FetchSnapshot = 59,
1123 DescribeCluster = 60,
1125 DescribeProducers = 61,
1127 BrokerRegistration = 62,
1129 BrokerHeartbeat = 63,
1131 UnregisterBroker = 64,
1133 DescribeTransactions = 65,
1135 ListTransactions = 66,
1137 AllocateProducerIds = 67,
1139 ConsumerGroupHeartbeat = 68,
1141 ConsumerGroupDescribe = 69,
1143 ControllerRegistration = 70,
1145 GetTelemetrySubscriptions = 71,
1147 PushTelemetry = 72,
1149 AssignReplicasToDirs = 73,
1151 ListClientMetricsResources = 74,
1153 DescribeTopicPartitions = 75,
1155 AddRaftVoter = 80,
1157 RemoveRaftVoter = 81,
1159 UpdateRaftVoter = 82,
1161}
1162
1163impl ApiKey {
1164 pub fn request_header_version(&self, version: i16) -> i16 {
1166 match self {
1167 ApiKey::Produce => ProduceRequest::header_version(version),
1168 ApiKey::Fetch => FetchRequest::header_version(version),
1169 ApiKey::ListOffsets => ListOffsetsRequest::header_version(version),
1170 ApiKey::Metadata => MetadataRequest::header_version(version),
1171 ApiKey::LeaderAndIsr => LeaderAndIsrRequest::header_version(version),
1172 ApiKey::StopReplica => StopReplicaRequest::header_version(version),
1173 ApiKey::UpdateMetadata => UpdateMetadataRequest::header_version(version),
1174 ApiKey::ControlledShutdown => ControlledShutdownRequest::header_version(version),
1175 ApiKey::OffsetCommit => OffsetCommitRequest::header_version(version),
1176 ApiKey::OffsetFetch => OffsetFetchRequest::header_version(version),
1177 ApiKey::FindCoordinator => FindCoordinatorRequest::header_version(version),
1178 ApiKey::JoinGroup => JoinGroupRequest::header_version(version),
1179 ApiKey::Heartbeat => HeartbeatRequest::header_version(version),
1180 ApiKey::LeaveGroup => LeaveGroupRequest::header_version(version),
1181 ApiKey::SyncGroup => SyncGroupRequest::header_version(version),
1182 ApiKey::DescribeGroups => DescribeGroupsRequest::header_version(version),
1183 ApiKey::ListGroups => ListGroupsRequest::header_version(version),
1184 ApiKey::SaslHandshake => SaslHandshakeRequest::header_version(version),
1185 ApiKey::ApiVersions => ApiVersionsRequest::header_version(version),
1186 ApiKey::CreateTopics => CreateTopicsRequest::header_version(version),
1187 ApiKey::DeleteTopics => DeleteTopicsRequest::header_version(version),
1188 ApiKey::DeleteRecords => DeleteRecordsRequest::header_version(version),
1189 ApiKey::InitProducerId => InitProducerIdRequest::header_version(version),
1190 ApiKey::OffsetForLeaderEpoch => OffsetForLeaderEpochRequest::header_version(version),
1191 ApiKey::AddPartitionsToTxn => AddPartitionsToTxnRequest::header_version(version),
1192 ApiKey::AddOffsetsToTxn => AddOffsetsToTxnRequest::header_version(version),
1193 ApiKey::EndTxn => EndTxnRequest::header_version(version),
1194 ApiKey::WriteTxnMarkers => WriteTxnMarkersRequest::header_version(version),
1195 ApiKey::TxnOffsetCommit => TxnOffsetCommitRequest::header_version(version),
1196 ApiKey::DescribeAcls => DescribeAclsRequest::header_version(version),
1197 ApiKey::CreateAcls => CreateAclsRequest::header_version(version),
1198 ApiKey::DeleteAcls => DeleteAclsRequest::header_version(version),
1199 ApiKey::DescribeConfigs => DescribeConfigsRequest::header_version(version),
1200 ApiKey::AlterConfigs => AlterConfigsRequest::header_version(version),
1201 ApiKey::AlterReplicaLogDirs => AlterReplicaLogDirsRequest::header_version(version),
1202 ApiKey::DescribeLogDirs => DescribeLogDirsRequest::header_version(version),
1203 ApiKey::SaslAuthenticate => SaslAuthenticateRequest::header_version(version),
1204 ApiKey::CreatePartitions => CreatePartitionsRequest::header_version(version),
1205 ApiKey::CreateDelegationToken => CreateDelegationTokenRequest::header_version(version),
1206 ApiKey::RenewDelegationToken => RenewDelegationTokenRequest::header_version(version),
1207 ApiKey::ExpireDelegationToken => ExpireDelegationTokenRequest::header_version(version),
1208 ApiKey::DescribeDelegationToken => {
1209 DescribeDelegationTokenRequest::header_version(version)
1210 }
1211 ApiKey::DeleteGroups => DeleteGroupsRequest::header_version(version),
1212 ApiKey::ElectLeaders => ElectLeadersRequest::header_version(version),
1213 ApiKey::IncrementalAlterConfigs => {
1214 IncrementalAlterConfigsRequest::header_version(version)
1215 }
1216 ApiKey::AlterPartitionReassignments => {
1217 AlterPartitionReassignmentsRequest::header_version(version)
1218 }
1219 ApiKey::ListPartitionReassignments => {
1220 ListPartitionReassignmentsRequest::header_version(version)
1221 }
1222 ApiKey::OffsetDelete => OffsetDeleteRequest::header_version(version),
1223 ApiKey::DescribeClientQuotas => DescribeClientQuotasRequest::header_version(version),
1224 ApiKey::AlterClientQuotas => AlterClientQuotasRequest::header_version(version),
1225 ApiKey::DescribeUserScramCredentials => {
1226 DescribeUserScramCredentialsRequest::header_version(version)
1227 }
1228 ApiKey::AlterUserScramCredentials => {
1229 AlterUserScramCredentialsRequest::header_version(version)
1230 }
1231 ApiKey::Vote => VoteRequest::header_version(version),
1232 ApiKey::BeginQuorumEpoch => BeginQuorumEpochRequest::header_version(version),
1233 ApiKey::EndQuorumEpoch => EndQuorumEpochRequest::header_version(version),
1234 ApiKey::DescribeQuorum => DescribeQuorumRequest::header_version(version),
1235 ApiKey::AlterPartition => AlterPartitionRequest::header_version(version),
1236 ApiKey::UpdateFeatures => UpdateFeaturesRequest::header_version(version),
1237 ApiKey::Envelope => EnvelopeRequest::header_version(version),
1238 ApiKey::FetchSnapshot => FetchSnapshotRequest::header_version(version),
1239 ApiKey::DescribeCluster => DescribeClusterRequest::header_version(version),
1240 ApiKey::DescribeProducers => DescribeProducersRequest::header_version(version),
1241 ApiKey::BrokerRegistration => BrokerRegistrationRequest::header_version(version),
1242 ApiKey::BrokerHeartbeat => BrokerHeartbeatRequest::header_version(version),
1243 ApiKey::UnregisterBroker => UnregisterBrokerRequest::header_version(version),
1244 ApiKey::DescribeTransactions => DescribeTransactionsRequest::header_version(version),
1245 ApiKey::ListTransactions => ListTransactionsRequest::header_version(version),
1246 ApiKey::AllocateProducerIds => AllocateProducerIdsRequest::header_version(version),
1247 ApiKey::ConsumerGroupHeartbeat => {
1248 ConsumerGroupHeartbeatRequest::header_version(version)
1249 }
1250 ApiKey::ConsumerGroupDescribe => ConsumerGroupDescribeRequest::header_version(version),
1251 ApiKey::ControllerRegistration => {
1252 ControllerRegistrationRequest::header_version(version)
1253 }
1254 ApiKey::GetTelemetrySubscriptions => {
1255 GetTelemetrySubscriptionsRequest::header_version(version)
1256 }
1257 ApiKey::PushTelemetry => PushTelemetryRequest::header_version(version),
1258 ApiKey::AssignReplicasToDirs => AssignReplicasToDirsRequest::header_version(version),
1259 ApiKey::ListClientMetricsResources => {
1260 ListClientMetricsResourcesRequest::header_version(version)
1261 }
1262 ApiKey::DescribeTopicPartitions => {
1263 DescribeTopicPartitionsRequest::header_version(version)
1264 }
1265 ApiKey::AddRaftVoter => AddRaftVoterRequest::header_version(version),
1266 ApiKey::RemoveRaftVoter => RemoveRaftVoterRequest::header_version(version),
1267 ApiKey::UpdateRaftVoter => UpdateRaftVoterRequest::header_version(version),
1268 }
1269 }
1270 pub fn response_header_version(&self, version: i16) -> i16 {
1272 match self {
1273 ApiKey::Produce => ProduceResponse::header_version(version),
1274 ApiKey::Fetch => FetchResponse::header_version(version),
1275 ApiKey::ListOffsets => ListOffsetsResponse::header_version(version),
1276 ApiKey::Metadata => MetadataResponse::header_version(version),
1277 ApiKey::LeaderAndIsr => LeaderAndIsrResponse::header_version(version),
1278 ApiKey::StopReplica => StopReplicaResponse::header_version(version),
1279 ApiKey::UpdateMetadata => UpdateMetadataResponse::header_version(version),
1280 ApiKey::ControlledShutdown => ControlledShutdownResponse::header_version(version),
1281 ApiKey::OffsetCommit => OffsetCommitResponse::header_version(version),
1282 ApiKey::OffsetFetch => OffsetFetchResponse::header_version(version),
1283 ApiKey::FindCoordinator => FindCoordinatorResponse::header_version(version),
1284 ApiKey::JoinGroup => JoinGroupResponse::header_version(version),
1285 ApiKey::Heartbeat => HeartbeatResponse::header_version(version),
1286 ApiKey::LeaveGroup => LeaveGroupResponse::header_version(version),
1287 ApiKey::SyncGroup => SyncGroupResponse::header_version(version),
1288 ApiKey::DescribeGroups => DescribeGroupsResponse::header_version(version),
1289 ApiKey::ListGroups => ListGroupsResponse::header_version(version),
1290 ApiKey::SaslHandshake => SaslHandshakeResponse::header_version(version),
1291 ApiKey::ApiVersions => ApiVersionsResponse::header_version(version),
1292 ApiKey::CreateTopics => CreateTopicsResponse::header_version(version),
1293 ApiKey::DeleteTopics => DeleteTopicsResponse::header_version(version),
1294 ApiKey::DeleteRecords => DeleteRecordsResponse::header_version(version),
1295 ApiKey::InitProducerId => InitProducerIdResponse::header_version(version),
1296 ApiKey::OffsetForLeaderEpoch => OffsetForLeaderEpochResponse::header_version(version),
1297 ApiKey::AddPartitionsToTxn => AddPartitionsToTxnResponse::header_version(version),
1298 ApiKey::AddOffsetsToTxn => AddOffsetsToTxnResponse::header_version(version),
1299 ApiKey::EndTxn => EndTxnResponse::header_version(version),
1300 ApiKey::WriteTxnMarkers => WriteTxnMarkersResponse::header_version(version),
1301 ApiKey::TxnOffsetCommit => TxnOffsetCommitResponse::header_version(version),
1302 ApiKey::DescribeAcls => DescribeAclsResponse::header_version(version),
1303 ApiKey::CreateAcls => CreateAclsResponse::header_version(version),
1304 ApiKey::DeleteAcls => DeleteAclsResponse::header_version(version),
1305 ApiKey::DescribeConfigs => DescribeConfigsResponse::header_version(version),
1306 ApiKey::AlterConfigs => AlterConfigsResponse::header_version(version),
1307 ApiKey::AlterReplicaLogDirs => AlterReplicaLogDirsResponse::header_version(version),
1308 ApiKey::DescribeLogDirs => DescribeLogDirsResponse::header_version(version),
1309 ApiKey::SaslAuthenticate => SaslAuthenticateResponse::header_version(version),
1310 ApiKey::CreatePartitions => CreatePartitionsResponse::header_version(version),
1311 ApiKey::CreateDelegationToken => CreateDelegationTokenResponse::header_version(version),
1312 ApiKey::RenewDelegationToken => RenewDelegationTokenResponse::header_version(version),
1313 ApiKey::ExpireDelegationToken => ExpireDelegationTokenResponse::header_version(version),
1314 ApiKey::DescribeDelegationToken => {
1315 DescribeDelegationTokenResponse::header_version(version)
1316 }
1317 ApiKey::DeleteGroups => DeleteGroupsResponse::header_version(version),
1318 ApiKey::ElectLeaders => ElectLeadersResponse::header_version(version),
1319 ApiKey::IncrementalAlterConfigs => {
1320 IncrementalAlterConfigsResponse::header_version(version)
1321 }
1322 ApiKey::AlterPartitionReassignments => {
1323 AlterPartitionReassignmentsResponse::header_version(version)
1324 }
1325 ApiKey::ListPartitionReassignments => {
1326 ListPartitionReassignmentsResponse::header_version(version)
1327 }
1328 ApiKey::OffsetDelete => OffsetDeleteResponse::header_version(version),
1329 ApiKey::DescribeClientQuotas => DescribeClientQuotasResponse::header_version(version),
1330 ApiKey::AlterClientQuotas => AlterClientQuotasResponse::header_version(version),
1331 ApiKey::DescribeUserScramCredentials => {
1332 DescribeUserScramCredentialsResponse::header_version(version)
1333 }
1334 ApiKey::AlterUserScramCredentials => {
1335 AlterUserScramCredentialsResponse::header_version(version)
1336 }
1337 ApiKey::Vote => VoteResponse::header_version(version),
1338 ApiKey::BeginQuorumEpoch => BeginQuorumEpochResponse::header_version(version),
1339 ApiKey::EndQuorumEpoch => EndQuorumEpochResponse::header_version(version),
1340 ApiKey::DescribeQuorum => DescribeQuorumResponse::header_version(version),
1341 ApiKey::AlterPartition => AlterPartitionResponse::header_version(version),
1342 ApiKey::UpdateFeatures => UpdateFeaturesResponse::header_version(version),
1343 ApiKey::Envelope => EnvelopeResponse::header_version(version),
1344 ApiKey::FetchSnapshot => FetchSnapshotResponse::header_version(version),
1345 ApiKey::DescribeCluster => DescribeClusterResponse::header_version(version),
1346 ApiKey::DescribeProducers => DescribeProducersResponse::header_version(version),
1347 ApiKey::BrokerRegistration => BrokerRegistrationResponse::header_version(version),
1348 ApiKey::BrokerHeartbeat => BrokerHeartbeatResponse::header_version(version),
1349 ApiKey::UnregisterBroker => UnregisterBrokerResponse::header_version(version),
1350 ApiKey::DescribeTransactions => DescribeTransactionsResponse::header_version(version),
1351 ApiKey::ListTransactions => ListTransactionsResponse::header_version(version),
1352 ApiKey::AllocateProducerIds => AllocateProducerIdsResponse::header_version(version),
1353 ApiKey::ConsumerGroupHeartbeat => {
1354 ConsumerGroupHeartbeatResponse::header_version(version)
1355 }
1356 ApiKey::ConsumerGroupDescribe => ConsumerGroupDescribeResponse::header_version(version),
1357 ApiKey::ControllerRegistration => {
1358 ControllerRegistrationResponse::header_version(version)
1359 }
1360 ApiKey::GetTelemetrySubscriptions => {
1361 GetTelemetrySubscriptionsResponse::header_version(version)
1362 }
1363 ApiKey::PushTelemetry => PushTelemetryResponse::header_version(version),
1364 ApiKey::AssignReplicasToDirs => AssignReplicasToDirsResponse::header_version(version),
1365 ApiKey::ListClientMetricsResources => {
1366 ListClientMetricsResourcesResponse::header_version(version)
1367 }
1368 ApiKey::DescribeTopicPartitions => {
1369 DescribeTopicPartitionsResponse::header_version(version)
1370 }
1371 ApiKey::AddRaftVoter => AddRaftVoterResponse::header_version(version),
1372 ApiKey::RemoveRaftVoter => RemoveRaftVoterResponse::header_version(version),
1373 ApiKey::UpdateRaftVoter => UpdateRaftVoterResponse::header_version(version),
1374 }
1375 }
1376 pub fn valid_versions(&self) -> VersionRange {
1378 match self {
1379 ApiKey::Produce => VersionRange { min: 0, max: 11 },
1380 ApiKey::Fetch => VersionRange { min: 0, max: 17 },
1381 ApiKey::ListOffsets => VersionRange { min: 0, max: 9 },
1382 ApiKey::Metadata => VersionRange { min: 0, max: 12 },
1383 ApiKey::LeaderAndIsr => VersionRange { min: 0, max: 7 },
1384 ApiKey::StopReplica => VersionRange { min: 0, max: 4 },
1385 ApiKey::UpdateMetadata => VersionRange { min: 0, max: 8 },
1386 ApiKey::ControlledShutdown => VersionRange { min: 0, max: 3 },
1387 ApiKey::OffsetCommit => VersionRange { min: 0, max: 9 },
1388 ApiKey::OffsetFetch => VersionRange { min: 0, max: 9 },
1389 ApiKey::FindCoordinator => VersionRange { min: 0, max: 6 },
1390 ApiKey::JoinGroup => VersionRange { min: 0, max: 9 },
1391 ApiKey::Heartbeat => VersionRange { min: 0, max: 4 },
1392 ApiKey::LeaveGroup => VersionRange { min: 0, max: 5 },
1393 ApiKey::SyncGroup => VersionRange { min: 0, max: 5 },
1394 ApiKey::DescribeGroups => VersionRange { min: 0, max: 5 },
1395 ApiKey::ListGroups => VersionRange { min: 0, max: 5 },
1396 ApiKey::SaslHandshake => VersionRange { min: 0, max: 1 },
1397 ApiKey::ApiVersions => VersionRange { min: 0, max: 4 },
1398 ApiKey::CreateTopics => VersionRange { min: 0, max: 7 },
1399 ApiKey::DeleteTopics => VersionRange { min: 0, max: 6 },
1400 ApiKey::DeleteRecords => VersionRange { min: 0, max: 2 },
1401 ApiKey::InitProducerId => VersionRange { min: 0, max: 5 },
1402 ApiKey::OffsetForLeaderEpoch => VersionRange { min: 0, max: 4 },
1403 ApiKey::AddPartitionsToTxn => VersionRange { min: 0, max: 5 },
1404 ApiKey::AddOffsetsToTxn => VersionRange { min: 0, max: 4 },
1405 ApiKey::EndTxn => VersionRange { min: 0, max: 4 },
1406 ApiKey::WriteTxnMarkers => VersionRange { min: 0, max: 1 },
1407 ApiKey::TxnOffsetCommit => VersionRange { min: 0, max: 4 },
1408 ApiKey::DescribeAcls => VersionRange { min: 0, max: 3 },
1409 ApiKey::CreateAcls => VersionRange { min: 0, max: 3 },
1410 ApiKey::DeleteAcls => VersionRange { min: 0, max: 3 },
1411 ApiKey::DescribeConfigs => VersionRange { min: 0, max: 4 },
1412 ApiKey::AlterConfigs => VersionRange { min: 0, max: 2 },
1413 ApiKey::AlterReplicaLogDirs => VersionRange { min: 0, max: 2 },
1414 ApiKey::DescribeLogDirs => VersionRange { min: 0, max: 4 },
1415 ApiKey::SaslAuthenticate => VersionRange { min: 0, max: 2 },
1416 ApiKey::CreatePartitions => VersionRange { min: 0, max: 3 },
1417 ApiKey::CreateDelegationToken => VersionRange { min: 0, max: 3 },
1418 ApiKey::RenewDelegationToken => VersionRange { min: 0, max: 2 },
1419 ApiKey::ExpireDelegationToken => VersionRange { min: 0, max: 2 },
1420 ApiKey::DescribeDelegationToken => VersionRange { min: 0, max: 3 },
1421 ApiKey::DeleteGroups => VersionRange { min: 0, max: 2 },
1422 ApiKey::ElectLeaders => VersionRange { min: 0, max: 2 },
1423 ApiKey::IncrementalAlterConfigs => VersionRange { min: 0, max: 1 },
1424 ApiKey::AlterPartitionReassignments => VersionRange { min: 0, max: 0 },
1425 ApiKey::ListPartitionReassignments => VersionRange { min: 0, max: 0 },
1426 ApiKey::OffsetDelete => VersionRange { min: 0, max: 0 },
1427 ApiKey::DescribeClientQuotas => VersionRange { min: 0, max: 1 },
1428 ApiKey::AlterClientQuotas => VersionRange { min: 0, max: 1 },
1429 ApiKey::DescribeUserScramCredentials => VersionRange { min: 0, max: 0 },
1430 ApiKey::AlterUserScramCredentials => VersionRange { min: 0, max: 0 },
1431 ApiKey::Vote => VersionRange { min: 0, max: 1 },
1432 ApiKey::BeginQuorumEpoch => VersionRange { min: 0, max: 1 },
1433 ApiKey::EndQuorumEpoch => VersionRange { min: 0, max: 1 },
1434 ApiKey::DescribeQuorum => VersionRange { min: 0, max: 2 },
1435 ApiKey::AlterPartition => VersionRange { min: 0, max: 3 },
1436 ApiKey::UpdateFeatures => VersionRange { min: 0, max: 1 },
1437 ApiKey::Envelope => VersionRange { min: 0, max: 0 },
1438 ApiKey::FetchSnapshot => VersionRange { min: 0, max: 1 },
1439 ApiKey::DescribeCluster => VersionRange { min: 0, max: 1 },
1440 ApiKey::DescribeProducers => VersionRange { min: 0, max: 0 },
1441 ApiKey::BrokerRegistration => VersionRange { min: 0, max: 4 },
1442 ApiKey::BrokerHeartbeat => VersionRange { min: 0, max: 1 },
1443 ApiKey::UnregisterBroker => VersionRange { min: 0, max: 0 },
1444 ApiKey::DescribeTransactions => VersionRange { min: 0, max: 0 },
1445 ApiKey::ListTransactions => VersionRange { min: 0, max: 1 },
1446 ApiKey::AllocateProducerIds => VersionRange { min: 0, max: 0 },
1447 ApiKey::ConsumerGroupHeartbeat => VersionRange { min: 0, max: 0 },
1448 ApiKey::ConsumerGroupDescribe => VersionRange { min: 0, max: 0 },
1449 ApiKey::ControllerRegistration => VersionRange { min: 0, max: 0 },
1450 ApiKey::GetTelemetrySubscriptions => VersionRange { min: 0, max: 0 },
1451 ApiKey::PushTelemetry => VersionRange { min: 0, max: 0 },
1452 ApiKey::AssignReplicasToDirs => VersionRange { min: 0, max: 0 },
1453 ApiKey::ListClientMetricsResources => VersionRange { min: 0, max: 0 },
1454 ApiKey::DescribeTopicPartitions => VersionRange { min: 0, max: 0 },
1455 ApiKey::AddRaftVoter => VersionRange { min: 0, max: 0 },
1456 ApiKey::RemoveRaftVoter => VersionRange { min: 0, max: 0 },
1457 ApiKey::UpdateRaftVoter => VersionRange { min: 0, max: 0 },
1458 }
1459 }
1460
1461 pub fn iter() -> impl Iterator<Item = ApiKey> {
1463 (0..i16::MAX).map_while(|i| ApiKey::try_from(i).ok())
1464 }
1465}
1466impl TryFrom<i16> for ApiKey {
1467 type Error = ();
1468
1469 fn try_from(v: i16) -> Result<Self, Self::Error> {
1470 match v {
1471 x if x == ApiKey::Produce as i16 => Ok(ApiKey::Produce),
1472 x if x == ApiKey::Fetch as i16 => Ok(ApiKey::Fetch),
1473 x if x == ApiKey::ListOffsets as i16 => Ok(ApiKey::ListOffsets),
1474 x if x == ApiKey::Metadata as i16 => Ok(ApiKey::Metadata),
1475 x if x == ApiKey::LeaderAndIsr as i16 => Ok(ApiKey::LeaderAndIsr),
1476 x if x == ApiKey::StopReplica as i16 => Ok(ApiKey::StopReplica),
1477 x if x == ApiKey::UpdateMetadata as i16 => Ok(ApiKey::UpdateMetadata),
1478 x if x == ApiKey::ControlledShutdown as i16 => Ok(ApiKey::ControlledShutdown),
1479 x if x == ApiKey::OffsetCommit as i16 => Ok(ApiKey::OffsetCommit),
1480 x if x == ApiKey::OffsetFetch as i16 => Ok(ApiKey::OffsetFetch),
1481 x if x == ApiKey::FindCoordinator as i16 => Ok(ApiKey::FindCoordinator),
1482 x if x == ApiKey::JoinGroup as i16 => Ok(ApiKey::JoinGroup),
1483 x if x == ApiKey::Heartbeat as i16 => Ok(ApiKey::Heartbeat),
1484 x if x == ApiKey::LeaveGroup as i16 => Ok(ApiKey::LeaveGroup),
1485 x if x == ApiKey::SyncGroup as i16 => Ok(ApiKey::SyncGroup),
1486 x if x == ApiKey::DescribeGroups as i16 => Ok(ApiKey::DescribeGroups),
1487 x if x == ApiKey::ListGroups as i16 => Ok(ApiKey::ListGroups),
1488 x if x == ApiKey::SaslHandshake as i16 => Ok(ApiKey::SaslHandshake),
1489 x if x == ApiKey::ApiVersions as i16 => Ok(ApiKey::ApiVersions),
1490 x if x == ApiKey::CreateTopics as i16 => Ok(ApiKey::CreateTopics),
1491 x if x == ApiKey::DeleteTopics as i16 => Ok(ApiKey::DeleteTopics),
1492 x if x == ApiKey::DeleteRecords as i16 => Ok(ApiKey::DeleteRecords),
1493 x if x == ApiKey::InitProducerId as i16 => Ok(ApiKey::InitProducerId),
1494 x if x == ApiKey::OffsetForLeaderEpoch as i16 => Ok(ApiKey::OffsetForLeaderEpoch),
1495 x if x == ApiKey::AddPartitionsToTxn as i16 => Ok(ApiKey::AddPartitionsToTxn),
1496 x if x == ApiKey::AddOffsetsToTxn as i16 => Ok(ApiKey::AddOffsetsToTxn),
1497 x if x == ApiKey::EndTxn as i16 => Ok(ApiKey::EndTxn),
1498 x if x == ApiKey::WriteTxnMarkers as i16 => Ok(ApiKey::WriteTxnMarkers),
1499 x if x == ApiKey::TxnOffsetCommit as i16 => Ok(ApiKey::TxnOffsetCommit),
1500 x if x == ApiKey::DescribeAcls as i16 => Ok(ApiKey::DescribeAcls),
1501 x if x == ApiKey::CreateAcls as i16 => Ok(ApiKey::CreateAcls),
1502 x if x == ApiKey::DeleteAcls as i16 => Ok(ApiKey::DeleteAcls),
1503 x if x == ApiKey::DescribeConfigs as i16 => Ok(ApiKey::DescribeConfigs),
1504 x if x == ApiKey::AlterConfigs as i16 => Ok(ApiKey::AlterConfigs),
1505 x if x == ApiKey::AlterReplicaLogDirs as i16 => Ok(ApiKey::AlterReplicaLogDirs),
1506 x if x == ApiKey::DescribeLogDirs as i16 => Ok(ApiKey::DescribeLogDirs),
1507 x if x == ApiKey::SaslAuthenticate as i16 => Ok(ApiKey::SaslAuthenticate),
1508 x if x == ApiKey::CreatePartitions as i16 => Ok(ApiKey::CreatePartitions),
1509 x if x == ApiKey::CreateDelegationToken as i16 => Ok(ApiKey::CreateDelegationToken),
1510 x if x == ApiKey::RenewDelegationToken as i16 => Ok(ApiKey::RenewDelegationToken),
1511 x if x == ApiKey::ExpireDelegationToken as i16 => Ok(ApiKey::ExpireDelegationToken),
1512 x if x == ApiKey::DescribeDelegationToken as i16 => Ok(ApiKey::DescribeDelegationToken),
1513 x if x == ApiKey::DeleteGroups as i16 => Ok(ApiKey::DeleteGroups),
1514 x if x == ApiKey::ElectLeaders as i16 => Ok(ApiKey::ElectLeaders),
1515 x if x == ApiKey::IncrementalAlterConfigs as i16 => Ok(ApiKey::IncrementalAlterConfigs),
1516 x if x == ApiKey::AlterPartitionReassignments as i16 => {
1517 Ok(ApiKey::AlterPartitionReassignments)
1518 }
1519 x if x == ApiKey::ListPartitionReassignments as i16 => {
1520 Ok(ApiKey::ListPartitionReassignments)
1521 }
1522 x if x == ApiKey::OffsetDelete as i16 => Ok(ApiKey::OffsetDelete),
1523 x if x == ApiKey::DescribeClientQuotas as i16 => Ok(ApiKey::DescribeClientQuotas),
1524 x if x == ApiKey::AlterClientQuotas as i16 => Ok(ApiKey::AlterClientQuotas),
1525 x if x == ApiKey::DescribeUserScramCredentials as i16 => {
1526 Ok(ApiKey::DescribeUserScramCredentials)
1527 }
1528 x if x == ApiKey::AlterUserScramCredentials as i16 => {
1529 Ok(ApiKey::AlterUserScramCredentials)
1530 }
1531 x if x == ApiKey::Vote as i16 => Ok(ApiKey::Vote),
1532 x if x == ApiKey::BeginQuorumEpoch as i16 => Ok(ApiKey::BeginQuorumEpoch),
1533 x if x == ApiKey::EndQuorumEpoch as i16 => Ok(ApiKey::EndQuorumEpoch),
1534 x if x == ApiKey::DescribeQuorum as i16 => Ok(ApiKey::DescribeQuorum),
1535 x if x == ApiKey::AlterPartition as i16 => Ok(ApiKey::AlterPartition),
1536 x if x == ApiKey::UpdateFeatures as i16 => Ok(ApiKey::UpdateFeatures),
1537 x if x == ApiKey::Envelope as i16 => Ok(ApiKey::Envelope),
1538 x if x == ApiKey::FetchSnapshot as i16 => Ok(ApiKey::FetchSnapshot),
1539 x if x == ApiKey::DescribeCluster as i16 => Ok(ApiKey::DescribeCluster),
1540 x if x == ApiKey::DescribeProducers as i16 => Ok(ApiKey::DescribeProducers),
1541 x if x == ApiKey::BrokerRegistration as i16 => Ok(ApiKey::BrokerRegistration),
1542 x if x == ApiKey::BrokerHeartbeat as i16 => Ok(ApiKey::BrokerHeartbeat),
1543 x if x == ApiKey::UnregisterBroker as i16 => Ok(ApiKey::UnregisterBroker),
1544 x if x == ApiKey::DescribeTransactions as i16 => Ok(ApiKey::DescribeTransactions),
1545 x if x == ApiKey::ListTransactions as i16 => Ok(ApiKey::ListTransactions),
1546 x if x == ApiKey::AllocateProducerIds as i16 => Ok(ApiKey::AllocateProducerIds),
1547 x if x == ApiKey::ConsumerGroupHeartbeat as i16 => Ok(ApiKey::ConsumerGroupHeartbeat),
1548 x if x == ApiKey::ConsumerGroupDescribe as i16 => Ok(ApiKey::ConsumerGroupDescribe),
1549 x if x == ApiKey::ControllerRegistration as i16 => Ok(ApiKey::ControllerRegistration),
1550 x if x == ApiKey::GetTelemetrySubscriptions as i16 => {
1551 Ok(ApiKey::GetTelemetrySubscriptions)
1552 }
1553 x if x == ApiKey::PushTelemetry as i16 => Ok(ApiKey::PushTelemetry),
1554 x if x == ApiKey::AssignReplicasToDirs as i16 => Ok(ApiKey::AssignReplicasToDirs),
1555 x if x == ApiKey::ListClientMetricsResources as i16 => {
1556 Ok(ApiKey::ListClientMetricsResources)
1557 }
1558 x if x == ApiKey::DescribeTopicPartitions as i16 => Ok(ApiKey::DescribeTopicPartitions),
1559 x if x == ApiKey::AddRaftVoter as i16 => Ok(ApiKey::AddRaftVoter),
1560 x if x == ApiKey::RemoveRaftVoter as i16 => Ok(ApiKey::RemoveRaftVoter),
1561 x if x == ApiKey::UpdateRaftVoter as i16 => Ok(ApiKey::UpdateRaftVoter),
1562 _ => Err(()),
1563 }
1564 }
1565}
1566
1567#[cfg(feature = "messages_enums")]
1569#[non_exhaustive]
1570#[derive(Debug, Clone, PartialEq)]
1571pub enum RequestKind {
1572 Produce(ProduceRequest),
1574 Fetch(FetchRequest),
1576 ListOffsets(ListOffsetsRequest),
1578 Metadata(MetadataRequest),
1580 LeaderAndIsr(LeaderAndIsrRequest),
1582 StopReplica(StopReplicaRequest),
1584 UpdateMetadata(UpdateMetadataRequest),
1586 ControlledShutdown(ControlledShutdownRequest),
1588 OffsetCommit(OffsetCommitRequest),
1590 OffsetFetch(OffsetFetchRequest),
1592 FindCoordinator(FindCoordinatorRequest),
1594 JoinGroup(JoinGroupRequest),
1596 Heartbeat(HeartbeatRequest),
1598 LeaveGroup(LeaveGroupRequest),
1600 SyncGroup(SyncGroupRequest),
1602 DescribeGroups(DescribeGroupsRequest),
1604 ListGroups(ListGroupsRequest),
1606 SaslHandshake(SaslHandshakeRequest),
1608 ApiVersions(ApiVersionsRequest),
1610 CreateTopics(CreateTopicsRequest),
1612 DeleteTopics(DeleteTopicsRequest),
1614 DeleteRecords(DeleteRecordsRequest),
1616 InitProducerId(InitProducerIdRequest),
1618 OffsetForLeaderEpoch(OffsetForLeaderEpochRequest),
1620 AddPartitionsToTxn(AddPartitionsToTxnRequest),
1622 AddOffsetsToTxn(AddOffsetsToTxnRequest),
1624 EndTxn(EndTxnRequest),
1626 WriteTxnMarkers(WriteTxnMarkersRequest),
1628 TxnOffsetCommit(TxnOffsetCommitRequest),
1630 DescribeAcls(DescribeAclsRequest),
1632 CreateAcls(CreateAclsRequest),
1634 DeleteAcls(DeleteAclsRequest),
1636 DescribeConfigs(DescribeConfigsRequest),
1638 AlterConfigs(AlterConfigsRequest),
1640 AlterReplicaLogDirs(AlterReplicaLogDirsRequest),
1642 DescribeLogDirs(DescribeLogDirsRequest),
1644 SaslAuthenticate(SaslAuthenticateRequest),
1646 CreatePartitions(CreatePartitionsRequest),
1648 CreateDelegationToken(CreateDelegationTokenRequest),
1650 RenewDelegationToken(RenewDelegationTokenRequest),
1652 ExpireDelegationToken(ExpireDelegationTokenRequest),
1654 DescribeDelegationToken(DescribeDelegationTokenRequest),
1656 DeleteGroups(DeleteGroupsRequest),
1658 ElectLeaders(ElectLeadersRequest),
1660 IncrementalAlterConfigs(IncrementalAlterConfigsRequest),
1662 AlterPartitionReassignments(AlterPartitionReassignmentsRequest),
1664 ListPartitionReassignments(ListPartitionReassignmentsRequest),
1666 OffsetDelete(OffsetDeleteRequest),
1668 DescribeClientQuotas(DescribeClientQuotasRequest),
1670 AlterClientQuotas(AlterClientQuotasRequest),
1672 DescribeUserScramCredentials(DescribeUserScramCredentialsRequest),
1674 AlterUserScramCredentials(AlterUserScramCredentialsRequest),
1676 Vote(VoteRequest),
1678 BeginQuorumEpoch(BeginQuorumEpochRequest),
1680 EndQuorumEpoch(EndQuorumEpochRequest),
1682 DescribeQuorum(DescribeQuorumRequest),
1684 AlterPartition(AlterPartitionRequest),
1686 UpdateFeatures(UpdateFeaturesRequest),
1688 Envelope(EnvelopeRequest),
1690 FetchSnapshot(FetchSnapshotRequest),
1692 DescribeCluster(DescribeClusterRequest),
1694 DescribeProducers(DescribeProducersRequest),
1696 BrokerRegistration(BrokerRegistrationRequest),
1698 BrokerHeartbeat(BrokerHeartbeatRequest),
1700 UnregisterBroker(UnregisterBrokerRequest),
1702 DescribeTransactions(DescribeTransactionsRequest),
1704 ListTransactions(ListTransactionsRequest),
1706 AllocateProducerIds(AllocateProducerIdsRequest),
1708 ConsumerGroupHeartbeat(ConsumerGroupHeartbeatRequest),
1710 ConsumerGroupDescribe(ConsumerGroupDescribeRequest),
1712 ControllerRegistration(ControllerRegistrationRequest),
1714 GetTelemetrySubscriptions(GetTelemetrySubscriptionsRequest),
1716 PushTelemetry(PushTelemetryRequest),
1718 AssignReplicasToDirs(AssignReplicasToDirsRequest),
1720 ListClientMetricsResources(ListClientMetricsResourcesRequest),
1722 DescribeTopicPartitions(DescribeTopicPartitionsRequest),
1724 AddRaftVoter(AddRaftVoterRequest),
1726 RemoveRaftVoter(RemoveRaftVoterRequest),
1728 UpdateRaftVoter(UpdateRaftVoterRequest),
1730}
1731
1732#[cfg(feature = "messages_enums")]
1733impl RequestKind {
1734 #[cfg(feature = "client")]
1736 pub fn encode(&self, bytes: &mut bytes::BytesMut, version: i16) -> anyhow::Result<()> {
1737 match self {
1738 RequestKind::Produce(x) => encode(x, bytes, version),
1739 RequestKind::Fetch(x) => encode(x, bytes, version),
1740 RequestKind::ListOffsets(x) => encode(x, bytes, version),
1741 RequestKind::Metadata(x) => encode(x, bytes, version),
1742 RequestKind::LeaderAndIsr(x) => encode(x, bytes, version),
1743 RequestKind::StopReplica(x) => encode(x, bytes, version),
1744 RequestKind::UpdateMetadata(x) => encode(x, bytes, version),
1745 RequestKind::ControlledShutdown(x) => encode(x, bytes, version),
1746 RequestKind::OffsetCommit(x) => encode(x, bytes, version),
1747 RequestKind::OffsetFetch(x) => encode(x, bytes, version),
1748 RequestKind::FindCoordinator(x) => encode(x, bytes, version),
1749 RequestKind::JoinGroup(x) => encode(x, bytes, version),
1750 RequestKind::Heartbeat(x) => encode(x, bytes, version),
1751 RequestKind::LeaveGroup(x) => encode(x, bytes, version),
1752 RequestKind::SyncGroup(x) => encode(x, bytes, version),
1753 RequestKind::DescribeGroups(x) => encode(x, bytes, version),
1754 RequestKind::ListGroups(x) => encode(x, bytes, version),
1755 RequestKind::SaslHandshake(x) => encode(x, bytes, version),
1756 RequestKind::ApiVersions(x) => encode(x, bytes, version),
1757 RequestKind::CreateTopics(x) => encode(x, bytes, version),
1758 RequestKind::DeleteTopics(x) => encode(x, bytes, version),
1759 RequestKind::DeleteRecords(x) => encode(x, bytes, version),
1760 RequestKind::InitProducerId(x) => encode(x, bytes, version),
1761 RequestKind::OffsetForLeaderEpoch(x) => encode(x, bytes, version),
1762 RequestKind::AddPartitionsToTxn(x) => encode(x, bytes, version),
1763 RequestKind::AddOffsetsToTxn(x) => encode(x, bytes, version),
1764 RequestKind::EndTxn(x) => encode(x, bytes, version),
1765 RequestKind::WriteTxnMarkers(x) => encode(x, bytes, version),
1766 RequestKind::TxnOffsetCommit(x) => encode(x, bytes, version),
1767 RequestKind::DescribeAcls(x) => encode(x, bytes, version),
1768 RequestKind::CreateAcls(x) => encode(x, bytes, version),
1769 RequestKind::DeleteAcls(x) => encode(x, bytes, version),
1770 RequestKind::DescribeConfigs(x) => encode(x, bytes, version),
1771 RequestKind::AlterConfigs(x) => encode(x, bytes, version),
1772 RequestKind::AlterReplicaLogDirs(x) => encode(x, bytes, version),
1773 RequestKind::DescribeLogDirs(x) => encode(x, bytes, version),
1774 RequestKind::SaslAuthenticate(x) => encode(x, bytes, version),
1775 RequestKind::CreatePartitions(x) => encode(x, bytes, version),
1776 RequestKind::CreateDelegationToken(x) => encode(x, bytes, version),
1777 RequestKind::RenewDelegationToken(x) => encode(x, bytes, version),
1778 RequestKind::ExpireDelegationToken(x) => encode(x, bytes, version),
1779 RequestKind::DescribeDelegationToken(x) => encode(x, bytes, version),
1780 RequestKind::DeleteGroups(x) => encode(x, bytes, version),
1781 RequestKind::ElectLeaders(x) => encode(x, bytes, version),
1782 RequestKind::IncrementalAlterConfigs(x) => encode(x, bytes, version),
1783 RequestKind::AlterPartitionReassignments(x) => encode(x, bytes, version),
1784 RequestKind::ListPartitionReassignments(x) => encode(x, bytes, version),
1785 RequestKind::OffsetDelete(x) => encode(x, bytes, version),
1786 RequestKind::DescribeClientQuotas(x) => encode(x, bytes, version),
1787 RequestKind::AlterClientQuotas(x) => encode(x, bytes, version),
1788 RequestKind::DescribeUserScramCredentials(x) => encode(x, bytes, version),
1789 RequestKind::AlterUserScramCredentials(x) => encode(x, bytes, version),
1790 RequestKind::Vote(x) => encode(x, bytes, version),
1791 RequestKind::BeginQuorumEpoch(x) => encode(x, bytes, version),
1792 RequestKind::EndQuorumEpoch(x) => encode(x, bytes, version),
1793 RequestKind::DescribeQuorum(x) => encode(x, bytes, version),
1794 RequestKind::AlterPartition(x) => encode(x, bytes, version),
1795 RequestKind::UpdateFeatures(x) => encode(x, bytes, version),
1796 RequestKind::Envelope(x) => encode(x, bytes, version),
1797 RequestKind::FetchSnapshot(x) => encode(x, bytes, version),
1798 RequestKind::DescribeCluster(x) => encode(x, bytes, version),
1799 RequestKind::DescribeProducers(x) => encode(x, bytes, version),
1800 RequestKind::BrokerRegistration(x) => encode(x, bytes, version),
1801 RequestKind::BrokerHeartbeat(x) => encode(x, bytes, version),
1802 RequestKind::UnregisterBroker(x) => encode(x, bytes, version),
1803 RequestKind::DescribeTransactions(x) => encode(x, bytes, version),
1804 RequestKind::ListTransactions(x) => encode(x, bytes, version),
1805 RequestKind::AllocateProducerIds(x) => encode(x, bytes, version),
1806 RequestKind::ConsumerGroupHeartbeat(x) => encode(x, bytes, version),
1807 RequestKind::ConsumerGroupDescribe(x) => encode(x, bytes, version),
1808 RequestKind::ControllerRegistration(x) => encode(x, bytes, version),
1809 RequestKind::GetTelemetrySubscriptions(x) => encode(x, bytes, version),
1810 RequestKind::PushTelemetry(x) => encode(x, bytes, version),
1811 RequestKind::AssignReplicasToDirs(x) => encode(x, bytes, version),
1812 RequestKind::ListClientMetricsResources(x) => encode(x, bytes, version),
1813 RequestKind::DescribeTopicPartitions(x) => encode(x, bytes, version),
1814 RequestKind::AddRaftVoter(x) => encode(x, bytes, version),
1815 RequestKind::RemoveRaftVoter(x) => encode(x, bytes, version),
1816 RequestKind::UpdateRaftVoter(x) => encode(x, bytes, version),
1817 }
1818 }
1819 #[cfg(feature = "broker")]
1821 pub fn decode(
1822 api_key: ApiKey,
1823 bytes: &mut bytes::Bytes,
1824 version: i16,
1825 ) -> anyhow::Result<RequestKind> {
1826 match api_key {
1827 ApiKey::Produce => Ok(RequestKind::Produce(decode(bytes, version)?)),
1828 ApiKey::Fetch => Ok(RequestKind::Fetch(decode(bytes, version)?)),
1829 ApiKey::ListOffsets => Ok(RequestKind::ListOffsets(decode(bytes, version)?)),
1830 ApiKey::Metadata => Ok(RequestKind::Metadata(decode(bytes, version)?)),
1831 ApiKey::LeaderAndIsr => Ok(RequestKind::LeaderAndIsr(decode(bytes, version)?)),
1832 ApiKey::StopReplica => Ok(RequestKind::StopReplica(decode(bytes, version)?)),
1833 ApiKey::UpdateMetadata => Ok(RequestKind::UpdateMetadata(decode(bytes, version)?)),
1834 ApiKey::ControlledShutdown => {
1835 Ok(RequestKind::ControlledShutdown(decode(bytes, version)?))
1836 }
1837 ApiKey::OffsetCommit => Ok(RequestKind::OffsetCommit(decode(bytes, version)?)),
1838 ApiKey::OffsetFetch => Ok(RequestKind::OffsetFetch(decode(bytes, version)?)),
1839 ApiKey::FindCoordinator => Ok(RequestKind::FindCoordinator(decode(bytes, version)?)),
1840 ApiKey::JoinGroup => Ok(RequestKind::JoinGroup(decode(bytes, version)?)),
1841 ApiKey::Heartbeat => Ok(RequestKind::Heartbeat(decode(bytes, version)?)),
1842 ApiKey::LeaveGroup => Ok(RequestKind::LeaveGroup(decode(bytes, version)?)),
1843 ApiKey::SyncGroup => Ok(RequestKind::SyncGroup(decode(bytes, version)?)),
1844 ApiKey::DescribeGroups => Ok(RequestKind::DescribeGroups(decode(bytes, version)?)),
1845 ApiKey::ListGroups => Ok(RequestKind::ListGroups(decode(bytes, version)?)),
1846 ApiKey::SaslHandshake => Ok(RequestKind::SaslHandshake(decode(bytes, version)?)),
1847 ApiKey::ApiVersions => Ok(RequestKind::ApiVersions(decode(bytes, version)?)),
1848 ApiKey::CreateTopics => Ok(RequestKind::CreateTopics(decode(bytes, version)?)),
1849 ApiKey::DeleteTopics => Ok(RequestKind::DeleteTopics(decode(bytes, version)?)),
1850 ApiKey::DeleteRecords => Ok(RequestKind::DeleteRecords(decode(bytes, version)?)),
1851 ApiKey::InitProducerId => Ok(RequestKind::InitProducerId(decode(bytes, version)?)),
1852 ApiKey::OffsetForLeaderEpoch => {
1853 Ok(RequestKind::OffsetForLeaderEpoch(decode(bytes, version)?))
1854 }
1855 ApiKey::AddPartitionsToTxn => {
1856 Ok(RequestKind::AddPartitionsToTxn(decode(bytes, version)?))
1857 }
1858 ApiKey::AddOffsetsToTxn => Ok(RequestKind::AddOffsetsToTxn(decode(bytes, version)?)),
1859 ApiKey::EndTxn => Ok(RequestKind::EndTxn(decode(bytes, version)?)),
1860 ApiKey::WriteTxnMarkers => Ok(RequestKind::WriteTxnMarkers(decode(bytes, version)?)),
1861 ApiKey::TxnOffsetCommit => Ok(RequestKind::TxnOffsetCommit(decode(bytes, version)?)),
1862 ApiKey::DescribeAcls => Ok(RequestKind::DescribeAcls(decode(bytes, version)?)),
1863 ApiKey::CreateAcls => Ok(RequestKind::CreateAcls(decode(bytes, version)?)),
1864 ApiKey::DeleteAcls => Ok(RequestKind::DeleteAcls(decode(bytes, version)?)),
1865 ApiKey::DescribeConfigs => Ok(RequestKind::DescribeConfigs(decode(bytes, version)?)),
1866 ApiKey::AlterConfigs => Ok(RequestKind::AlterConfigs(decode(bytes, version)?)),
1867 ApiKey::AlterReplicaLogDirs => {
1868 Ok(RequestKind::AlterReplicaLogDirs(decode(bytes, version)?))
1869 }
1870 ApiKey::DescribeLogDirs => Ok(RequestKind::DescribeLogDirs(decode(bytes, version)?)),
1871 ApiKey::SaslAuthenticate => Ok(RequestKind::SaslAuthenticate(decode(bytes, version)?)),
1872 ApiKey::CreatePartitions => Ok(RequestKind::CreatePartitions(decode(bytes, version)?)),
1873 ApiKey::CreateDelegationToken => {
1874 Ok(RequestKind::CreateDelegationToken(decode(bytes, version)?))
1875 }
1876 ApiKey::RenewDelegationToken => {
1877 Ok(RequestKind::RenewDelegationToken(decode(bytes, version)?))
1878 }
1879 ApiKey::ExpireDelegationToken => {
1880 Ok(RequestKind::ExpireDelegationToken(decode(bytes, version)?))
1881 }
1882 ApiKey::DescribeDelegationToken => Ok(RequestKind::DescribeDelegationToken(decode(
1883 bytes, version,
1884 )?)),
1885 ApiKey::DeleteGroups => Ok(RequestKind::DeleteGroups(decode(bytes, version)?)),
1886 ApiKey::ElectLeaders => Ok(RequestKind::ElectLeaders(decode(bytes, version)?)),
1887 ApiKey::IncrementalAlterConfigs => Ok(RequestKind::IncrementalAlterConfigs(decode(
1888 bytes, version,
1889 )?)),
1890 ApiKey::AlterPartitionReassignments => Ok(RequestKind::AlterPartitionReassignments(
1891 decode(bytes, version)?,
1892 )),
1893 ApiKey::ListPartitionReassignments => Ok(RequestKind::ListPartitionReassignments(
1894 decode(bytes, version)?,
1895 )),
1896 ApiKey::OffsetDelete => Ok(RequestKind::OffsetDelete(decode(bytes, version)?)),
1897 ApiKey::DescribeClientQuotas => {
1898 Ok(RequestKind::DescribeClientQuotas(decode(bytes, version)?))
1899 }
1900 ApiKey::AlterClientQuotas => {
1901 Ok(RequestKind::AlterClientQuotas(decode(bytes, version)?))
1902 }
1903 ApiKey::DescribeUserScramCredentials => Ok(RequestKind::DescribeUserScramCredentials(
1904 decode(bytes, version)?,
1905 )),
1906 ApiKey::AlterUserScramCredentials => Ok(RequestKind::AlterUserScramCredentials(
1907 decode(bytes, version)?,
1908 )),
1909 ApiKey::Vote => Ok(RequestKind::Vote(decode(bytes, version)?)),
1910 ApiKey::BeginQuorumEpoch => Ok(RequestKind::BeginQuorumEpoch(decode(bytes, version)?)),
1911 ApiKey::EndQuorumEpoch => Ok(RequestKind::EndQuorumEpoch(decode(bytes, version)?)),
1912 ApiKey::DescribeQuorum => Ok(RequestKind::DescribeQuorum(decode(bytes, version)?)),
1913 ApiKey::AlterPartition => Ok(RequestKind::AlterPartition(decode(bytes, version)?)),
1914 ApiKey::UpdateFeatures => Ok(RequestKind::UpdateFeatures(decode(bytes, version)?)),
1915 ApiKey::Envelope => Ok(RequestKind::Envelope(decode(bytes, version)?)),
1916 ApiKey::FetchSnapshot => Ok(RequestKind::FetchSnapshot(decode(bytes, version)?)),
1917 ApiKey::DescribeCluster => Ok(RequestKind::DescribeCluster(decode(bytes, version)?)),
1918 ApiKey::DescribeProducers => {
1919 Ok(RequestKind::DescribeProducers(decode(bytes, version)?))
1920 }
1921 ApiKey::BrokerRegistration => {
1922 Ok(RequestKind::BrokerRegistration(decode(bytes, version)?))
1923 }
1924 ApiKey::BrokerHeartbeat => Ok(RequestKind::BrokerHeartbeat(decode(bytes, version)?)),
1925 ApiKey::UnregisterBroker => Ok(RequestKind::UnregisterBroker(decode(bytes, version)?)),
1926 ApiKey::DescribeTransactions => {
1927 Ok(RequestKind::DescribeTransactions(decode(bytes, version)?))
1928 }
1929 ApiKey::ListTransactions => Ok(RequestKind::ListTransactions(decode(bytes, version)?)),
1930 ApiKey::AllocateProducerIds => {
1931 Ok(RequestKind::AllocateProducerIds(decode(bytes, version)?))
1932 }
1933 ApiKey::ConsumerGroupHeartbeat => {
1934 Ok(RequestKind::ConsumerGroupHeartbeat(decode(bytes, version)?))
1935 }
1936 ApiKey::ConsumerGroupDescribe => {
1937 Ok(RequestKind::ConsumerGroupDescribe(decode(bytes, version)?))
1938 }
1939 ApiKey::ControllerRegistration => {
1940 Ok(RequestKind::ControllerRegistration(decode(bytes, version)?))
1941 }
1942 ApiKey::GetTelemetrySubscriptions => Ok(RequestKind::GetTelemetrySubscriptions(
1943 decode(bytes, version)?,
1944 )),
1945 ApiKey::PushTelemetry => Ok(RequestKind::PushTelemetry(decode(bytes, version)?)),
1946 ApiKey::AssignReplicasToDirs => {
1947 Ok(RequestKind::AssignReplicasToDirs(decode(bytes, version)?))
1948 }
1949 ApiKey::ListClientMetricsResources => Ok(RequestKind::ListClientMetricsResources(
1950 decode(bytes, version)?,
1951 )),
1952 ApiKey::DescribeTopicPartitions => Ok(RequestKind::DescribeTopicPartitions(decode(
1953 bytes, version,
1954 )?)),
1955 ApiKey::AddRaftVoter => Ok(RequestKind::AddRaftVoter(decode(bytes, version)?)),
1956 ApiKey::RemoveRaftVoter => Ok(RequestKind::RemoveRaftVoter(decode(bytes, version)?)),
1957 ApiKey::UpdateRaftVoter => Ok(RequestKind::UpdateRaftVoter(decode(bytes, version)?)),
1958 }
1959 }
1960}
1961#[cfg(feature = "messages_enums")]
1962impl From<ProduceRequest> for RequestKind {
1963 fn from(value: ProduceRequest) -> RequestKind {
1964 RequestKind::Produce(value)
1965 }
1966}
1967
1968#[cfg(feature = "messages_enums")]
1969impl From<FetchRequest> for RequestKind {
1970 fn from(value: FetchRequest) -> RequestKind {
1971 RequestKind::Fetch(value)
1972 }
1973}
1974
1975#[cfg(feature = "messages_enums")]
1976impl From<ListOffsetsRequest> for RequestKind {
1977 fn from(value: ListOffsetsRequest) -> RequestKind {
1978 RequestKind::ListOffsets(value)
1979 }
1980}
1981
1982#[cfg(feature = "messages_enums")]
1983impl From<MetadataRequest> for RequestKind {
1984 fn from(value: MetadataRequest) -> RequestKind {
1985 RequestKind::Metadata(value)
1986 }
1987}
1988
1989#[cfg(feature = "messages_enums")]
1990impl From<LeaderAndIsrRequest> for RequestKind {
1991 fn from(value: LeaderAndIsrRequest) -> RequestKind {
1992 RequestKind::LeaderAndIsr(value)
1993 }
1994}
1995
1996#[cfg(feature = "messages_enums")]
1997impl From<StopReplicaRequest> for RequestKind {
1998 fn from(value: StopReplicaRequest) -> RequestKind {
1999 RequestKind::StopReplica(value)
2000 }
2001}
2002
2003#[cfg(feature = "messages_enums")]
2004impl From<UpdateMetadataRequest> for RequestKind {
2005 fn from(value: UpdateMetadataRequest) -> RequestKind {
2006 RequestKind::UpdateMetadata(value)
2007 }
2008}
2009
2010#[cfg(feature = "messages_enums")]
2011impl From<ControlledShutdownRequest> for RequestKind {
2012 fn from(value: ControlledShutdownRequest) -> RequestKind {
2013 RequestKind::ControlledShutdown(value)
2014 }
2015}
2016
2017#[cfg(feature = "messages_enums")]
2018impl From<OffsetCommitRequest> for RequestKind {
2019 fn from(value: OffsetCommitRequest) -> RequestKind {
2020 RequestKind::OffsetCommit(value)
2021 }
2022}
2023
2024#[cfg(feature = "messages_enums")]
2025impl From<OffsetFetchRequest> for RequestKind {
2026 fn from(value: OffsetFetchRequest) -> RequestKind {
2027 RequestKind::OffsetFetch(value)
2028 }
2029}
2030
2031#[cfg(feature = "messages_enums")]
2032impl From<FindCoordinatorRequest> for RequestKind {
2033 fn from(value: FindCoordinatorRequest) -> RequestKind {
2034 RequestKind::FindCoordinator(value)
2035 }
2036}
2037
2038#[cfg(feature = "messages_enums")]
2039impl From<JoinGroupRequest> for RequestKind {
2040 fn from(value: JoinGroupRequest) -> RequestKind {
2041 RequestKind::JoinGroup(value)
2042 }
2043}
2044
2045#[cfg(feature = "messages_enums")]
2046impl From<HeartbeatRequest> for RequestKind {
2047 fn from(value: HeartbeatRequest) -> RequestKind {
2048 RequestKind::Heartbeat(value)
2049 }
2050}
2051
2052#[cfg(feature = "messages_enums")]
2053impl From<LeaveGroupRequest> for RequestKind {
2054 fn from(value: LeaveGroupRequest) -> RequestKind {
2055 RequestKind::LeaveGroup(value)
2056 }
2057}
2058
2059#[cfg(feature = "messages_enums")]
2060impl From<SyncGroupRequest> for RequestKind {
2061 fn from(value: SyncGroupRequest) -> RequestKind {
2062 RequestKind::SyncGroup(value)
2063 }
2064}
2065
2066#[cfg(feature = "messages_enums")]
2067impl From<DescribeGroupsRequest> for RequestKind {
2068 fn from(value: DescribeGroupsRequest) -> RequestKind {
2069 RequestKind::DescribeGroups(value)
2070 }
2071}
2072
2073#[cfg(feature = "messages_enums")]
2074impl From<ListGroupsRequest> for RequestKind {
2075 fn from(value: ListGroupsRequest) -> RequestKind {
2076 RequestKind::ListGroups(value)
2077 }
2078}
2079
2080#[cfg(feature = "messages_enums")]
2081impl From<SaslHandshakeRequest> for RequestKind {
2082 fn from(value: SaslHandshakeRequest) -> RequestKind {
2083 RequestKind::SaslHandshake(value)
2084 }
2085}
2086
2087#[cfg(feature = "messages_enums")]
2088impl From<ApiVersionsRequest> for RequestKind {
2089 fn from(value: ApiVersionsRequest) -> RequestKind {
2090 RequestKind::ApiVersions(value)
2091 }
2092}
2093
2094#[cfg(feature = "messages_enums")]
2095impl From<CreateTopicsRequest> for RequestKind {
2096 fn from(value: CreateTopicsRequest) -> RequestKind {
2097 RequestKind::CreateTopics(value)
2098 }
2099}
2100
2101#[cfg(feature = "messages_enums")]
2102impl From<DeleteTopicsRequest> for RequestKind {
2103 fn from(value: DeleteTopicsRequest) -> RequestKind {
2104 RequestKind::DeleteTopics(value)
2105 }
2106}
2107
2108#[cfg(feature = "messages_enums")]
2109impl From<DeleteRecordsRequest> for RequestKind {
2110 fn from(value: DeleteRecordsRequest) -> RequestKind {
2111 RequestKind::DeleteRecords(value)
2112 }
2113}
2114
2115#[cfg(feature = "messages_enums")]
2116impl From<InitProducerIdRequest> for RequestKind {
2117 fn from(value: InitProducerIdRequest) -> RequestKind {
2118 RequestKind::InitProducerId(value)
2119 }
2120}
2121
2122#[cfg(feature = "messages_enums")]
2123impl From<OffsetForLeaderEpochRequest> for RequestKind {
2124 fn from(value: OffsetForLeaderEpochRequest) -> RequestKind {
2125 RequestKind::OffsetForLeaderEpoch(value)
2126 }
2127}
2128
2129#[cfg(feature = "messages_enums")]
2130impl From<AddPartitionsToTxnRequest> for RequestKind {
2131 fn from(value: AddPartitionsToTxnRequest) -> RequestKind {
2132 RequestKind::AddPartitionsToTxn(value)
2133 }
2134}
2135
2136#[cfg(feature = "messages_enums")]
2137impl From<AddOffsetsToTxnRequest> for RequestKind {
2138 fn from(value: AddOffsetsToTxnRequest) -> RequestKind {
2139 RequestKind::AddOffsetsToTxn(value)
2140 }
2141}
2142
2143#[cfg(feature = "messages_enums")]
2144impl From<EndTxnRequest> for RequestKind {
2145 fn from(value: EndTxnRequest) -> RequestKind {
2146 RequestKind::EndTxn(value)
2147 }
2148}
2149
2150#[cfg(feature = "messages_enums")]
2151impl From<WriteTxnMarkersRequest> for RequestKind {
2152 fn from(value: WriteTxnMarkersRequest) -> RequestKind {
2153 RequestKind::WriteTxnMarkers(value)
2154 }
2155}
2156
2157#[cfg(feature = "messages_enums")]
2158impl From<TxnOffsetCommitRequest> for RequestKind {
2159 fn from(value: TxnOffsetCommitRequest) -> RequestKind {
2160 RequestKind::TxnOffsetCommit(value)
2161 }
2162}
2163
2164#[cfg(feature = "messages_enums")]
2165impl From<DescribeAclsRequest> for RequestKind {
2166 fn from(value: DescribeAclsRequest) -> RequestKind {
2167 RequestKind::DescribeAcls(value)
2168 }
2169}
2170
2171#[cfg(feature = "messages_enums")]
2172impl From<CreateAclsRequest> for RequestKind {
2173 fn from(value: CreateAclsRequest) -> RequestKind {
2174 RequestKind::CreateAcls(value)
2175 }
2176}
2177
2178#[cfg(feature = "messages_enums")]
2179impl From<DeleteAclsRequest> for RequestKind {
2180 fn from(value: DeleteAclsRequest) -> RequestKind {
2181 RequestKind::DeleteAcls(value)
2182 }
2183}
2184
2185#[cfg(feature = "messages_enums")]
2186impl From<DescribeConfigsRequest> for RequestKind {
2187 fn from(value: DescribeConfigsRequest) -> RequestKind {
2188 RequestKind::DescribeConfigs(value)
2189 }
2190}
2191
2192#[cfg(feature = "messages_enums")]
2193impl From<AlterConfigsRequest> for RequestKind {
2194 fn from(value: AlterConfigsRequest) -> RequestKind {
2195 RequestKind::AlterConfigs(value)
2196 }
2197}
2198
2199#[cfg(feature = "messages_enums")]
2200impl From<AlterReplicaLogDirsRequest> for RequestKind {
2201 fn from(value: AlterReplicaLogDirsRequest) -> RequestKind {
2202 RequestKind::AlterReplicaLogDirs(value)
2203 }
2204}
2205
2206#[cfg(feature = "messages_enums")]
2207impl From<DescribeLogDirsRequest> for RequestKind {
2208 fn from(value: DescribeLogDirsRequest) -> RequestKind {
2209 RequestKind::DescribeLogDirs(value)
2210 }
2211}
2212
2213#[cfg(feature = "messages_enums")]
2214impl From<SaslAuthenticateRequest> for RequestKind {
2215 fn from(value: SaslAuthenticateRequest) -> RequestKind {
2216 RequestKind::SaslAuthenticate(value)
2217 }
2218}
2219
2220#[cfg(feature = "messages_enums")]
2221impl From<CreatePartitionsRequest> for RequestKind {
2222 fn from(value: CreatePartitionsRequest) -> RequestKind {
2223 RequestKind::CreatePartitions(value)
2224 }
2225}
2226
2227#[cfg(feature = "messages_enums")]
2228impl From<CreateDelegationTokenRequest> for RequestKind {
2229 fn from(value: CreateDelegationTokenRequest) -> RequestKind {
2230 RequestKind::CreateDelegationToken(value)
2231 }
2232}
2233
2234#[cfg(feature = "messages_enums")]
2235impl From<RenewDelegationTokenRequest> for RequestKind {
2236 fn from(value: RenewDelegationTokenRequest) -> RequestKind {
2237 RequestKind::RenewDelegationToken(value)
2238 }
2239}
2240
2241#[cfg(feature = "messages_enums")]
2242impl From<ExpireDelegationTokenRequest> for RequestKind {
2243 fn from(value: ExpireDelegationTokenRequest) -> RequestKind {
2244 RequestKind::ExpireDelegationToken(value)
2245 }
2246}
2247
2248#[cfg(feature = "messages_enums")]
2249impl From<DescribeDelegationTokenRequest> for RequestKind {
2250 fn from(value: DescribeDelegationTokenRequest) -> RequestKind {
2251 RequestKind::DescribeDelegationToken(value)
2252 }
2253}
2254
2255#[cfg(feature = "messages_enums")]
2256impl From<DeleteGroupsRequest> for RequestKind {
2257 fn from(value: DeleteGroupsRequest) -> RequestKind {
2258 RequestKind::DeleteGroups(value)
2259 }
2260}
2261
2262#[cfg(feature = "messages_enums")]
2263impl From<ElectLeadersRequest> for RequestKind {
2264 fn from(value: ElectLeadersRequest) -> RequestKind {
2265 RequestKind::ElectLeaders(value)
2266 }
2267}
2268
2269#[cfg(feature = "messages_enums")]
2270impl From<IncrementalAlterConfigsRequest> for RequestKind {
2271 fn from(value: IncrementalAlterConfigsRequest) -> RequestKind {
2272 RequestKind::IncrementalAlterConfigs(value)
2273 }
2274}
2275
2276#[cfg(feature = "messages_enums")]
2277impl From<AlterPartitionReassignmentsRequest> for RequestKind {
2278 fn from(value: AlterPartitionReassignmentsRequest) -> RequestKind {
2279 RequestKind::AlterPartitionReassignments(value)
2280 }
2281}
2282
2283#[cfg(feature = "messages_enums")]
2284impl From<ListPartitionReassignmentsRequest> for RequestKind {
2285 fn from(value: ListPartitionReassignmentsRequest) -> RequestKind {
2286 RequestKind::ListPartitionReassignments(value)
2287 }
2288}
2289
2290#[cfg(feature = "messages_enums")]
2291impl From<OffsetDeleteRequest> for RequestKind {
2292 fn from(value: OffsetDeleteRequest) -> RequestKind {
2293 RequestKind::OffsetDelete(value)
2294 }
2295}
2296
2297#[cfg(feature = "messages_enums")]
2298impl From<DescribeClientQuotasRequest> for RequestKind {
2299 fn from(value: DescribeClientQuotasRequest) -> RequestKind {
2300 RequestKind::DescribeClientQuotas(value)
2301 }
2302}
2303
2304#[cfg(feature = "messages_enums")]
2305impl From<AlterClientQuotasRequest> for RequestKind {
2306 fn from(value: AlterClientQuotasRequest) -> RequestKind {
2307 RequestKind::AlterClientQuotas(value)
2308 }
2309}
2310
2311#[cfg(feature = "messages_enums")]
2312impl From<DescribeUserScramCredentialsRequest> for RequestKind {
2313 fn from(value: DescribeUserScramCredentialsRequest) -> RequestKind {
2314 RequestKind::DescribeUserScramCredentials(value)
2315 }
2316}
2317
2318#[cfg(feature = "messages_enums")]
2319impl From<AlterUserScramCredentialsRequest> for RequestKind {
2320 fn from(value: AlterUserScramCredentialsRequest) -> RequestKind {
2321 RequestKind::AlterUserScramCredentials(value)
2322 }
2323}
2324
2325#[cfg(feature = "messages_enums")]
2326impl From<VoteRequest> for RequestKind {
2327 fn from(value: VoteRequest) -> RequestKind {
2328 RequestKind::Vote(value)
2329 }
2330}
2331
2332#[cfg(feature = "messages_enums")]
2333impl From<BeginQuorumEpochRequest> for RequestKind {
2334 fn from(value: BeginQuorumEpochRequest) -> RequestKind {
2335 RequestKind::BeginQuorumEpoch(value)
2336 }
2337}
2338
2339#[cfg(feature = "messages_enums")]
2340impl From<EndQuorumEpochRequest> for RequestKind {
2341 fn from(value: EndQuorumEpochRequest) -> RequestKind {
2342 RequestKind::EndQuorumEpoch(value)
2343 }
2344}
2345
2346#[cfg(feature = "messages_enums")]
2347impl From<DescribeQuorumRequest> for RequestKind {
2348 fn from(value: DescribeQuorumRequest) -> RequestKind {
2349 RequestKind::DescribeQuorum(value)
2350 }
2351}
2352
2353#[cfg(feature = "messages_enums")]
2354impl From<AlterPartitionRequest> for RequestKind {
2355 fn from(value: AlterPartitionRequest) -> RequestKind {
2356 RequestKind::AlterPartition(value)
2357 }
2358}
2359
2360#[cfg(feature = "messages_enums")]
2361impl From<UpdateFeaturesRequest> for RequestKind {
2362 fn from(value: UpdateFeaturesRequest) -> RequestKind {
2363 RequestKind::UpdateFeatures(value)
2364 }
2365}
2366
2367#[cfg(feature = "messages_enums")]
2368impl From<EnvelopeRequest> for RequestKind {
2369 fn from(value: EnvelopeRequest) -> RequestKind {
2370 RequestKind::Envelope(value)
2371 }
2372}
2373
2374#[cfg(feature = "messages_enums")]
2375impl From<FetchSnapshotRequest> for RequestKind {
2376 fn from(value: FetchSnapshotRequest) -> RequestKind {
2377 RequestKind::FetchSnapshot(value)
2378 }
2379}
2380
2381#[cfg(feature = "messages_enums")]
2382impl From<DescribeClusterRequest> for RequestKind {
2383 fn from(value: DescribeClusterRequest) -> RequestKind {
2384 RequestKind::DescribeCluster(value)
2385 }
2386}
2387
2388#[cfg(feature = "messages_enums")]
2389impl From<DescribeProducersRequest> for RequestKind {
2390 fn from(value: DescribeProducersRequest) -> RequestKind {
2391 RequestKind::DescribeProducers(value)
2392 }
2393}
2394
2395#[cfg(feature = "messages_enums")]
2396impl From<BrokerRegistrationRequest> for RequestKind {
2397 fn from(value: BrokerRegistrationRequest) -> RequestKind {
2398 RequestKind::BrokerRegistration(value)
2399 }
2400}
2401
2402#[cfg(feature = "messages_enums")]
2403impl From<BrokerHeartbeatRequest> for RequestKind {
2404 fn from(value: BrokerHeartbeatRequest) -> RequestKind {
2405 RequestKind::BrokerHeartbeat(value)
2406 }
2407}
2408
2409#[cfg(feature = "messages_enums")]
2410impl From<UnregisterBrokerRequest> for RequestKind {
2411 fn from(value: UnregisterBrokerRequest) -> RequestKind {
2412 RequestKind::UnregisterBroker(value)
2413 }
2414}
2415
2416#[cfg(feature = "messages_enums")]
2417impl From<DescribeTransactionsRequest> for RequestKind {
2418 fn from(value: DescribeTransactionsRequest) -> RequestKind {
2419 RequestKind::DescribeTransactions(value)
2420 }
2421}
2422
2423#[cfg(feature = "messages_enums")]
2424impl From<ListTransactionsRequest> for RequestKind {
2425 fn from(value: ListTransactionsRequest) -> RequestKind {
2426 RequestKind::ListTransactions(value)
2427 }
2428}
2429
2430#[cfg(feature = "messages_enums")]
2431impl From<AllocateProducerIdsRequest> for RequestKind {
2432 fn from(value: AllocateProducerIdsRequest) -> RequestKind {
2433 RequestKind::AllocateProducerIds(value)
2434 }
2435}
2436
2437#[cfg(feature = "messages_enums")]
2438impl From<ConsumerGroupHeartbeatRequest> for RequestKind {
2439 fn from(value: ConsumerGroupHeartbeatRequest) -> RequestKind {
2440 RequestKind::ConsumerGroupHeartbeat(value)
2441 }
2442}
2443
2444#[cfg(feature = "messages_enums")]
2445impl From<ConsumerGroupDescribeRequest> for RequestKind {
2446 fn from(value: ConsumerGroupDescribeRequest) -> RequestKind {
2447 RequestKind::ConsumerGroupDescribe(value)
2448 }
2449}
2450
2451#[cfg(feature = "messages_enums")]
2452impl From<ControllerRegistrationRequest> for RequestKind {
2453 fn from(value: ControllerRegistrationRequest) -> RequestKind {
2454 RequestKind::ControllerRegistration(value)
2455 }
2456}
2457
2458#[cfg(feature = "messages_enums")]
2459impl From<GetTelemetrySubscriptionsRequest> for RequestKind {
2460 fn from(value: GetTelemetrySubscriptionsRequest) -> RequestKind {
2461 RequestKind::GetTelemetrySubscriptions(value)
2462 }
2463}
2464
2465#[cfg(feature = "messages_enums")]
2466impl From<PushTelemetryRequest> for RequestKind {
2467 fn from(value: PushTelemetryRequest) -> RequestKind {
2468 RequestKind::PushTelemetry(value)
2469 }
2470}
2471
2472#[cfg(feature = "messages_enums")]
2473impl From<AssignReplicasToDirsRequest> for RequestKind {
2474 fn from(value: AssignReplicasToDirsRequest) -> RequestKind {
2475 RequestKind::AssignReplicasToDirs(value)
2476 }
2477}
2478
2479#[cfg(feature = "messages_enums")]
2480impl From<ListClientMetricsResourcesRequest> for RequestKind {
2481 fn from(value: ListClientMetricsResourcesRequest) -> RequestKind {
2482 RequestKind::ListClientMetricsResources(value)
2483 }
2484}
2485
2486#[cfg(feature = "messages_enums")]
2487impl From<DescribeTopicPartitionsRequest> for RequestKind {
2488 fn from(value: DescribeTopicPartitionsRequest) -> RequestKind {
2489 RequestKind::DescribeTopicPartitions(value)
2490 }
2491}
2492
2493#[cfg(feature = "messages_enums")]
2494impl From<AddRaftVoterRequest> for RequestKind {
2495 fn from(value: AddRaftVoterRequest) -> RequestKind {
2496 RequestKind::AddRaftVoter(value)
2497 }
2498}
2499
2500#[cfg(feature = "messages_enums")]
2501impl From<RemoveRaftVoterRequest> for RequestKind {
2502 fn from(value: RemoveRaftVoterRequest) -> RequestKind {
2503 RequestKind::RemoveRaftVoter(value)
2504 }
2505}
2506
2507#[cfg(feature = "messages_enums")]
2508impl From<UpdateRaftVoterRequest> for RequestKind {
2509 fn from(value: UpdateRaftVoterRequest) -> RequestKind {
2510 RequestKind::UpdateRaftVoter(value)
2511 }
2512}
2513
2514#[cfg(feature = "messages_enums")]
2515#[cfg(any(feature = "client", feature = "broker"))]
2516fn decode<T: Decodable>(bytes: &mut bytes::Bytes, version: i16) -> Result<T> {
2517 T::decode(bytes, version).with_context(|| {
2518 format!(
2519 "Failed to decode {} v{} body",
2520 std::any::type_name::<T>(),
2521 version
2522 )
2523 })
2524}
2525
2526#[cfg(feature = "messages_enums")]
2527#[cfg(any(feature = "client", feature = "broker"))]
2528fn encode<T: Encodable>(encodable: &T, bytes: &mut bytes::BytesMut, version: i16) -> Result<()> {
2529 encodable.encode(bytes, version).with_context(|| {
2530 format!(
2531 "Failed to encode {} v{} body",
2532 std::any::type_name::<T>(),
2533 version
2534 )
2535 })
2536}
2537
2538#[non_exhaustive]
2540#[derive(Debug, Clone, PartialEq)]
2541#[cfg(feature = "messages_enums")]
2542pub enum ResponseKind {
2543 Produce(ProduceResponse),
2545 Fetch(FetchResponse),
2547 ListOffsets(ListOffsetsResponse),
2549 Metadata(MetadataResponse),
2551 LeaderAndIsr(LeaderAndIsrResponse),
2553 StopReplica(StopReplicaResponse),
2555 UpdateMetadata(UpdateMetadataResponse),
2557 ControlledShutdown(ControlledShutdownResponse),
2559 OffsetCommit(OffsetCommitResponse),
2561 OffsetFetch(OffsetFetchResponse),
2563 FindCoordinator(FindCoordinatorResponse),
2565 JoinGroup(JoinGroupResponse),
2567 Heartbeat(HeartbeatResponse),
2569 LeaveGroup(LeaveGroupResponse),
2571 SyncGroup(SyncGroupResponse),
2573 DescribeGroups(DescribeGroupsResponse),
2575 ListGroups(ListGroupsResponse),
2577 SaslHandshake(SaslHandshakeResponse),
2579 ApiVersions(ApiVersionsResponse),
2581 CreateTopics(CreateTopicsResponse),
2583 DeleteTopics(DeleteTopicsResponse),
2585 DeleteRecords(DeleteRecordsResponse),
2587 InitProducerId(InitProducerIdResponse),
2589 OffsetForLeaderEpoch(OffsetForLeaderEpochResponse),
2591 AddPartitionsToTxn(AddPartitionsToTxnResponse),
2593 AddOffsetsToTxn(AddOffsetsToTxnResponse),
2595 EndTxn(EndTxnResponse),
2597 WriteTxnMarkers(WriteTxnMarkersResponse),
2599 TxnOffsetCommit(TxnOffsetCommitResponse),
2601 DescribeAcls(DescribeAclsResponse),
2603 CreateAcls(CreateAclsResponse),
2605 DeleteAcls(DeleteAclsResponse),
2607 DescribeConfigs(DescribeConfigsResponse),
2609 AlterConfigs(AlterConfigsResponse),
2611 AlterReplicaLogDirs(AlterReplicaLogDirsResponse),
2613 DescribeLogDirs(DescribeLogDirsResponse),
2615 SaslAuthenticate(SaslAuthenticateResponse),
2617 CreatePartitions(CreatePartitionsResponse),
2619 CreateDelegationToken(CreateDelegationTokenResponse),
2621 RenewDelegationToken(RenewDelegationTokenResponse),
2623 ExpireDelegationToken(ExpireDelegationTokenResponse),
2625 DescribeDelegationToken(DescribeDelegationTokenResponse),
2627 DeleteGroups(DeleteGroupsResponse),
2629 ElectLeaders(ElectLeadersResponse),
2631 IncrementalAlterConfigs(IncrementalAlterConfigsResponse),
2633 AlterPartitionReassignments(AlterPartitionReassignmentsResponse),
2635 ListPartitionReassignments(ListPartitionReassignmentsResponse),
2637 OffsetDelete(OffsetDeleteResponse),
2639 DescribeClientQuotas(DescribeClientQuotasResponse),
2641 AlterClientQuotas(AlterClientQuotasResponse),
2643 DescribeUserScramCredentials(DescribeUserScramCredentialsResponse),
2645 AlterUserScramCredentials(AlterUserScramCredentialsResponse),
2647 Vote(VoteResponse),
2649 BeginQuorumEpoch(BeginQuorumEpochResponse),
2651 EndQuorumEpoch(EndQuorumEpochResponse),
2653 DescribeQuorum(DescribeQuorumResponse),
2655 AlterPartition(AlterPartitionResponse),
2657 UpdateFeatures(UpdateFeaturesResponse),
2659 Envelope(EnvelopeResponse),
2661 FetchSnapshot(FetchSnapshotResponse),
2663 DescribeCluster(DescribeClusterResponse),
2665 DescribeProducers(DescribeProducersResponse),
2667 BrokerRegistration(BrokerRegistrationResponse),
2669 BrokerHeartbeat(BrokerHeartbeatResponse),
2671 UnregisterBroker(UnregisterBrokerResponse),
2673 DescribeTransactions(DescribeTransactionsResponse),
2675 ListTransactions(ListTransactionsResponse),
2677 AllocateProducerIds(AllocateProducerIdsResponse),
2679 ConsumerGroupHeartbeat(ConsumerGroupHeartbeatResponse),
2681 ConsumerGroupDescribe(ConsumerGroupDescribeResponse),
2683 ControllerRegistration(ControllerRegistrationResponse),
2685 GetTelemetrySubscriptions(GetTelemetrySubscriptionsResponse),
2687 PushTelemetry(PushTelemetryResponse),
2689 AssignReplicasToDirs(AssignReplicasToDirsResponse),
2691 ListClientMetricsResources(ListClientMetricsResourcesResponse),
2693 DescribeTopicPartitions(DescribeTopicPartitionsResponse),
2695 AddRaftVoter(AddRaftVoterResponse),
2697 RemoveRaftVoter(RemoveRaftVoterResponse),
2699 UpdateRaftVoter(UpdateRaftVoterResponse),
2701}
2702
2703#[cfg(feature = "messages_enums")]
2704impl ResponseKind {
2705 #[cfg(feature = "broker")]
2707 pub fn encode(&self, bytes: &mut bytes::BytesMut, version: i16) -> anyhow::Result<()> {
2708 match self {
2709 ResponseKind::Produce(x) => encode(x, bytes, version),
2710 ResponseKind::Fetch(x) => encode(x, bytes, version),
2711 ResponseKind::ListOffsets(x) => encode(x, bytes, version),
2712 ResponseKind::Metadata(x) => encode(x, bytes, version),
2713 ResponseKind::LeaderAndIsr(x) => encode(x, bytes, version),
2714 ResponseKind::StopReplica(x) => encode(x, bytes, version),
2715 ResponseKind::UpdateMetadata(x) => encode(x, bytes, version),
2716 ResponseKind::ControlledShutdown(x) => encode(x, bytes, version),
2717 ResponseKind::OffsetCommit(x) => encode(x, bytes, version),
2718 ResponseKind::OffsetFetch(x) => encode(x, bytes, version),
2719 ResponseKind::FindCoordinator(x) => encode(x, bytes, version),
2720 ResponseKind::JoinGroup(x) => encode(x, bytes, version),
2721 ResponseKind::Heartbeat(x) => encode(x, bytes, version),
2722 ResponseKind::LeaveGroup(x) => encode(x, bytes, version),
2723 ResponseKind::SyncGroup(x) => encode(x, bytes, version),
2724 ResponseKind::DescribeGroups(x) => encode(x, bytes, version),
2725 ResponseKind::ListGroups(x) => encode(x, bytes, version),
2726 ResponseKind::SaslHandshake(x) => encode(x, bytes, version),
2727 ResponseKind::ApiVersions(x) => encode(x, bytes, version),
2728 ResponseKind::CreateTopics(x) => encode(x, bytes, version),
2729 ResponseKind::DeleteTopics(x) => encode(x, bytes, version),
2730 ResponseKind::DeleteRecords(x) => encode(x, bytes, version),
2731 ResponseKind::InitProducerId(x) => encode(x, bytes, version),
2732 ResponseKind::OffsetForLeaderEpoch(x) => encode(x, bytes, version),
2733 ResponseKind::AddPartitionsToTxn(x) => encode(x, bytes, version),
2734 ResponseKind::AddOffsetsToTxn(x) => encode(x, bytes, version),
2735 ResponseKind::EndTxn(x) => encode(x, bytes, version),
2736 ResponseKind::WriteTxnMarkers(x) => encode(x, bytes, version),
2737 ResponseKind::TxnOffsetCommit(x) => encode(x, bytes, version),
2738 ResponseKind::DescribeAcls(x) => encode(x, bytes, version),
2739 ResponseKind::CreateAcls(x) => encode(x, bytes, version),
2740 ResponseKind::DeleteAcls(x) => encode(x, bytes, version),
2741 ResponseKind::DescribeConfigs(x) => encode(x, bytes, version),
2742 ResponseKind::AlterConfigs(x) => encode(x, bytes, version),
2743 ResponseKind::AlterReplicaLogDirs(x) => encode(x, bytes, version),
2744 ResponseKind::DescribeLogDirs(x) => encode(x, bytes, version),
2745 ResponseKind::SaslAuthenticate(x) => encode(x, bytes, version),
2746 ResponseKind::CreatePartitions(x) => encode(x, bytes, version),
2747 ResponseKind::CreateDelegationToken(x) => encode(x, bytes, version),
2748 ResponseKind::RenewDelegationToken(x) => encode(x, bytes, version),
2749 ResponseKind::ExpireDelegationToken(x) => encode(x, bytes, version),
2750 ResponseKind::DescribeDelegationToken(x) => encode(x, bytes, version),
2751 ResponseKind::DeleteGroups(x) => encode(x, bytes, version),
2752 ResponseKind::ElectLeaders(x) => encode(x, bytes, version),
2753 ResponseKind::IncrementalAlterConfigs(x) => encode(x, bytes, version),
2754 ResponseKind::AlterPartitionReassignments(x) => encode(x, bytes, version),
2755 ResponseKind::ListPartitionReassignments(x) => encode(x, bytes, version),
2756 ResponseKind::OffsetDelete(x) => encode(x, bytes, version),
2757 ResponseKind::DescribeClientQuotas(x) => encode(x, bytes, version),
2758 ResponseKind::AlterClientQuotas(x) => encode(x, bytes, version),
2759 ResponseKind::DescribeUserScramCredentials(x) => encode(x, bytes, version),
2760 ResponseKind::AlterUserScramCredentials(x) => encode(x, bytes, version),
2761 ResponseKind::Vote(x) => encode(x, bytes, version),
2762 ResponseKind::BeginQuorumEpoch(x) => encode(x, bytes, version),
2763 ResponseKind::EndQuorumEpoch(x) => encode(x, bytes, version),
2764 ResponseKind::DescribeQuorum(x) => encode(x, bytes, version),
2765 ResponseKind::AlterPartition(x) => encode(x, bytes, version),
2766 ResponseKind::UpdateFeatures(x) => encode(x, bytes, version),
2767 ResponseKind::Envelope(x) => encode(x, bytes, version),
2768 ResponseKind::FetchSnapshot(x) => encode(x, bytes, version),
2769 ResponseKind::DescribeCluster(x) => encode(x, bytes, version),
2770 ResponseKind::DescribeProducers(x) => encode(x, bytes, version),
2771 ResponseKind::BrokerRegistration(x) => encode(x, bytes, version),
2772 ResponseKind::BrokerHeartbeat(x) => encode(x, bytes, version),
2773 ResponseKind::UnregisterBroker(x) => encode(x, bytes, version),
2774 ResponseKind::DescribeTransactions(x) => encode(x, bytes, version),
2775 ResponseKind::ListTransactions(x) => encode(x, bytes, version),
2776 ResponseKind::AllocateProducerIds(x) => encode(x, bytes, version),
2777 ResponseKind::ConsumerGroupHeartbeat(x) => encode(x, bytes, version),
2778 ResponseKind::ConsumerGroupDescribe(x) => encode(x, bytes, version),
2779 ResponseKind::ControllerRegistration(x) => encode(x, bytes, version),
2780 ResponseKind::GetTelemetrySubscriptions(x) => encode(x, bytes, version),
2781 ResponseKind::PushTelemetry(x) => encode(x, bytes, version),
2782 ResponseKind::AssignReplicasToDirs(x) => encode(x, bytes, version),
2783 ResponseKind::ListClientMetricsResources(x) => encode(x, bytes, version),
2784 ResponseKind::DescribeTopicPartitions(x) => encode(x, bytes, version),
2785 ResponseKind::AddRaftVoter(x) => encode(x, bytes, version),
2786 ResponseKind::RemoveRaftVoter(x) => encode(x, bytes, version),
2787 ResponseKind::UpdateRaftVoter(x) => encode(x, bytes, version),
2788 }
2789 }
2790 #[cfg(feature = "client")]
2792 pub fn decode(
2793 api_key: ApiKey,
2794 bytes: &mut bytes::Bytes,
2795 version: i16,
2796 ) -> anyhow::Result<ResponseKind> {
2797 match api_key {
2798 ApiKey::Produce => Ok(ResponseKind::Produce(decode(bytes, version)?)),
2799 ApiKey::Fetch => Ok(ResponseKind::Fetch(decode(bytes, version)?)),
2800 ApiKey::ListOffsets => Ok(ResponseKind::ListOffsets(decode(bytes, version)?)),
2801 ApiKey::Metadata => Ok(ResponseKind::Metadata(decode(bytes, version)?)),
2802 ApiKey::LeaderAndIsr => Ok(ResponseKind::LeaderAndIsr(decode(bytes, version)?)),
2803 ApiKey::StopReplica => Ok(ResponseKind::StopReplica(decode(bytes, version)?)),
2804 ApiKey::UpdateMetadata => Ok(ResponseKind::UpdateMetadata(decode(bytes, version)?)),
2805 ApiKey::ControlledShutdown => {
2806 Ok(ResponseKind::ControlledShutdown(decode(bytes, version)?))
2807 }
2808 ApiKey::OffsetCommit => Ok(ResponseKind::OffsetCommit(decode(bytes, version)?)),
2809 ApiKey::OffsetFetch => Ok(ResponseKind::OffsetFetch(decode(bytes, version)?)),
2810 ApiKey::FindCoordinator => Ok(ResponseKind::FindCoordinator(decode(bytes, version)?)),
2811 ApiKey::JoinGroup => Ok(ResponseKind::JoinGroup(decode(bytes, version)?)),
2812 ApiKey::Heartbeat => Ok(ResponseKind::Heartbeat(decode(bytes, version)?)),
2813 ApiKey::LeaveGroup => Ok(ResponseKind::LeaveGroup(decode(bytes, version)?)),
2814 ApiKey::SyncGroup => Ok(ResponseKind::SyncGroup(decode(bytes, version)?)),
2815 ApiKey::DescribeGroups => Ok(ResponseKind::DescribeGroups(decode(bytes, version)?)),
2816 ApiKey::ListGroups => Ok(ResponseKind::ListGroups(decode(bytes, version)?)),
2817 ApiKey::SaslHandshake => Ok(ResponseKind::SaslHandshake(decode(bytes, version)?)),
2818 ApiKey::ApiVersions => Ok(ResponseKind::ApiVersions(decode(bytes, version)?)),
2819 ApiKey::CreateTopics => Ok(ResponseKind::CreateTopics(decode(bytes, version)?)),
2820 ApiKey::DeleteTopics => Ok(ResponseKind::DeleteTopics(decode(bytes, version)?)),
2821 ApiKey::DeleteRecords => Ok(ResponseKind::DeleteRecords(decode(bytes, version)?)),
2822 ApiKey::InitProducerId => Ok(ResponseKind::InitProducerId(decode(bytes, version)?)),
2823 ApiKey::OffsetForLeaderEpoch => {
2824 Ok(ResponseKind::OffsetForLeaderEpoch(decode(bytes, version)?))
2825 }
2826 ApiKey::AddPartitionsToTxn => {
2827 Ok(ResponseKind::AddPartitionsToTxn(decode(bytes, version)?))
2828 }
2829 ApiKey::AddOffsetsToTxn => Ok(ResponseKind::AddOffsetsToTxn(decode(bytes, version)?)),
2830 ApiKey::EndTxn => Ok(ResponseKind::EndTxn(decode(bytes, version)?)),
2831 ApiKey::WriteTxnMarkers => Ok(ResponseKind::WriteTxnMarkers(decode(bytes, version)?)),
2832 ApiKey::TxnOffsetCommit => Ok(ResponseKind::TxnOffsetCommit(decode(bytes, version)?)),
2833 ApiKey::DescribeAcls => Ok(ResponseKind::DescribeAcls(decode(bytes, version)?)),
2834 ApiKey::CreateAcls => Ok(ResponseKind::CreateAcls(decode(bytes, version)?)),
2835 ApiKey::DeleteAcls => Ok(ResponseKind::DeleteAcls(decode(bytes, version)?)),
2836 ApiKey::DescribeConfigs => Ok(ResponseKind::DescribeConfigs(decode(bytes, version)?)),
2837 ApiKey::AlterConfigs => Ok(ResponseKind::AlterConfigs(decode(bytes, version)?)),
2838 ApiKey::AlterReplicaLogDirs => {
2839 Ok(ResponseKind::AlterReplicaLogDirs(decode(bytes, version)?))
2840 }
2841 ApiKey::DescribeLogDirs => Ok(ResponseKind::DescribeLogDirs(decode(bytes, version)?)),
2842 ApiKey::SaslAuthenticate => Ok(ResponseKind::SaslAuthenticate(decode(bytes, version)?)),
2843 ApiKey::CreatePartitions => Ok(ResponseKind::CreatePartitions(decode(bytes, version)?)),
2844 ApiKey::CreateDelegationToken => {
2845 Ok(ResponseKind::CreateDelegationToken(decode(bytes, version)?))
2846 }
2847 ApiKey::RenewDelegationToken => {
2848 Ok(ResponseKind::RenewDelegationToken(decode(bytes, version)?))
2849 }
2850 ApiKey::ExpireDelegationToken => {
2851 Ok(ResponseKind::ExpireDelegationToken(decode(bytes, version)?))
2852 }
2853 ApiKey::DescribeDelegationToken => Ok(ResponseKind::DescribeDelegationToken(decode(
2854 bytes, version,
2855 )?)),
2856 ApiKey::DeleteGroups => Ok(ResponseKind::DeleteGroups(decode(bytes, version)?)),
2857 ApiKey::ElectLeaders => Ok(ResponseKind::ElectLeaders(decode(bytes, version)?)),
2858 ApiKey::IncrementalAlterConfigs => Ok(ResponseKind::IncrementalAlterConfigs(decode(
2859 bytes, version,
2860 )?)),
2861 ApiKey::AlterPartitionReassignments => Ok(ResponseKind::AlterPartitionReassignments(
2862 decode(bytes, version)?,
2863 )),
2864 ApiKey::ListPartitionReassignments => Ok(ResponseKind::ListPartitionReassignments(
2865 decode(bytes, version)?,
2866 )),
2867 ApiKey::OffsetDelete => Ok(ResponseKind::OffsetDelete(decode(bytes, version)?)),
2868 ApiKey::DescribeClientQuotas => {
2869 Ok(ResponseKind::DescribeClientQuotas(decode(bytes, version)?))
2870 }
2871 ApiKey::AlterClientQuotas => {
2872 Ok(ResponseKind::AlterClientQuotas(decode(bytes, version)?))
2873 }
2874 ApiKey::DescribeUserScramCredentials => Ok(ResponseKind::DescribeUserScramCredentials(
2875 decode(bytes, version)?,
2876 )),
2877 ApiKey::AlterUserScramCredentials => Ok(ResponseKind::AlterUserScramCredentials(
2878 decode(bytes, version)?,
2879 )),
2880 ApiKey::Vote => Ok(ResponseKind::Vote(decode(bytes, version)?)),
2881 ApiKey::BeginQuorumEpoch => Ok(ResponseKind::BeginQuorumEpoch(decode(bytes, version)?)),
2882 ApiKey::EndQuorumEpoch => Ok(ResponseKind::EndQuorumEpoch(decode(bytes, version)?)),
2883 ApiKey::DescribeQuorum => Ok(ResponseKind::DescribeQuorum(decode(bytes, version)?)),
2884 ApiKey::AlterPartition => Ok(ResponseKind::AlterPartition(decode(bytes, version)?)),
2885 ApiKey::UpdateFeatures => Ok(ResponseKind::UpdateFeatures(decode(bytes, version)?)),
2886 ApiKey::Envelope => Ok(ResponseKind::Envelope(decode(bytes, version)?)),
2887 ApiKey::FetchSnapshot => Ok(ResponseKind::FetchSnapshot(decode(bytes, version)?)),
2888 ApiKey::DescribeCluster => Ok(ResponseKind::DescribeCluster(decode(bytes, version)?)),
2889 ApiKey::DescribeProducers => {
2890 Ok(ResponseKind::DescribeProducers(decode(bytes, version)?))
2891 }
2892 ApiKey::BrokerRegistration => {
2893 Ok(ResponseKind::BrokerRegistration(decode(bytes, version)?))
2894 }
2895 ApiKey::BrokerHeartbeat => Ok(ResponseKind::BrokerHeartbeat(decode(bytes, version)?)),
2896 ApiKey::UnregisterBroker => Ok(ResponseKind::UnregisterBroker(decode(bytes, version)?)),
2897 ApiKey::DescribeTransactions => {
2898 Ok(ResponseKind::DescribeTransactions(decode(bytes, version)?))
2899 }
2900 ApiKey::ListTransactions => Ok(ResponseKind::ListTransactions(decode(bytes, version)?)),
2901 ApiKey::AllocateProducerIds => {
2902 Ok(ResponseKind::AllocateProducerIds(decode(bytes, version)?))
2903 }
2904 ApiKey::ConsumerGroupHeartbeat => Ok(ResponseKind::ConsumerGroupHeartbeat(decode(
2905 bytes, version,
2906 )?)),
2907 ApiKey::ConsumerGroupDescribe => {
2908 Ok(ResponseKind::ConsumerGroupDescribe(decode(bytes, version)?))
2909 }
2910 ApiKey::ControllerRegistration => Ok(ResponseKind::ControllerRegistration(decode(
2911 bytes, version,
2912 )?)),
2913 ApiKey::GetTelemetrySubscriptions => Ok(ResponseKind::GetTelemetrySubscriptions(
2914 decode(bytes, version)?,
2915 )),
2916 ApiKey::PushTelemetry => Ok(ResponseKind::PushTelemetry(decode(bytes, version)?)),
2917 ApiKey::AssignReplicasToDirs => {
2918 Ok(ResponseKind::AssignReplicasToDirs(decode(bytes, version)?))
2919 }
2920 ApiKey::ListClientMetricsResources => Ok(ResponseKind::ListClientMetricsResources(
2921 decode(bytes, version)?,
2922 )),
2923 ApiKey::DescribeTopicPartitions => Ok(ResponseKind::DescribeTopicPartitions(decode(
2924 bytes, version,
2925 )?)),
2926 ApiKey::AddRaftVoter => Ok(ResponseKind::AddRaftVoter(decode(bytes, version)?)),
2927 ApiKey::RemoveRaftVoter => Ok(ResponseKind::RemoveRaftVoter(decode(bytes, version)?)),
2928 ApiKey::UpdateRaftVoter => Ok(ResponseKind::UpdateRaftVoter(decode(bytes, version)?)),
2929 }
2930 }
2931 pub fn header_version(&self, version: i16) -> i16 {
2933 match self {
2934 ResponseKind::Produce(_) => ProduceResponse::header_version(version),
2935 ResponseKind::Fetch(_) => FetchResponse::header_version(version),
2936 ResponseKind::ListOffsets(_) => ListOffsetsResponse::header_version(version),
2937 ResponseKind::Metadata(_) => MetadataResponse::header_version(version),
2938 ResponseKind::LeaderAndIsr(_) => LeaderAndIsrResponse::header_version(version),
2939 ResponseKind::StopReplica(_) => StopReplicaResponse::header_version(version),
2940 ResponseKind::UpdateMetadata(_) => UpdateMetadataResponse::header_version(version),
2941 ResponseKind::ControlledShutdown(_) => {
2942 ControlledShutdownResponse::header_version(version)
2943 }
2944 ResponseKind::OffsetCommit(_) => OffsetCommitResponse::header_version(version),
2945 ResponseKind::OffsetFetch(_) => OffsetFetchResponse::header_version(version),
2946 ResponseKind::FindCoordinator(_) => FindCoordinatorResponse::header_version(version),
2947 ResponseKind::JoinGroup(_) => JoinGroupResponse::header_version(version),
2948 ResponseKind::Heartbeat(_) => HeartbeatResponse::header_version(version),
2949 ResponseKind::LeaveGroup(_) => LeaveGroupResponse::header_version(version),
2950 ResponseKind::SyncGroup(_) => SyncGroupResponse::header_version(version),
2951 ResponseKind::DescribeGroups(_) => DescribeGroupsResponse::header_version(version),
2952 ResponseKind::ListGroups(_) => ListGroupsResponse::header_version(version),
2953 ResponseKind::SaslHandshake(_) => SaslHandshakeResponse::header_version(version),
2954 ResponseKind::ApiVersions(_) => ApiVersionsResponse::header_version(version),
2955 ResponseKind::CreateTopics(_) => CreateTopicsResponse::header_version(version),
2956 ResponseKind::DeleteTopics(_) => DeleteTopicsResponse::header_version(version),
2957 ResponseKind::DeleteRecords(_) => DeleteRecordsResponse::header_version(version),
2958 ResponseKind::InitProducerId(_) => InitProducerIdResponse::header_version(version),
2959 ResponseKind::OffsetForLeaderEpoch(_) => {
2960 OffsetForLeaderEpochResponse::header_version(version)
2961 }
2962 ResponseKind::AddPartitionsToTxn(_) => {
2963 AddPartitionsToTxnResponse::header_version(version)
2964 }
2965 ResponseKind::AddOffsetsToTxn(_) => AddOffsetsToTxnResponse::header_version(version),
2966 ResponseKind::EndTxn(_) => EndTxnResponse::header_version(version),
2967 ResponseKind::WriteTxnMarkers(_) => WriteTxnMarkersResponse::header_version(version),
2968 ResponseKind::TxnOffsetCommit(_) => TxnOffsetCommitResponse::header_version(version),
2969 ResponseKind::DescribeAcls(_) => DescribeAclsResponse::header_version(version),
2970 ResponseKind::CreateAcls(_) => CreateAclsResponse::header_version(version),
2971 ResponseKind::DeleteAcls(_) => DeleteAclsResponse::header_version(version),
2972 ResponseKind::DescribeConfigs(_) => DescribeConfigsResponse::header_version(version),
2973 ResponseKind::AlterConfigs(_) => AlterConfigsResponse::header_version(version),
2974 ResponseKind::AlterReplicaLogDirs(_) => {
2975 AlterReplicaLogDirsResponse::header_version(version)
2976 }
2977 ResponseKind::DescribeLogDirs(_) => DescribeLogDirsResponse::header_version(version),
2978 ResponseKind::SaslAuthenticate(_) => SaslAuthenticateResponse::header_version(version),
2979 ResponseKind::CreatePartitions(_) => CreatePartitionsResponse::header_version(version),
2980 ResponseKind::CreateDelegationToken(_) => {
2981 CreateDelegationTokenResponse::header_version(version)
2982 }
2983 ResponseKind::RenewDelegationToken(_) => {
2984 RenewDelegationTokenResponse::header_version(version)
2985 }
2986 ResponseKind::ExpireDelegationToken(_) => {
2987 ExpireDelegationTokenResponse::header_version(version)
2988 }
2989 ResponseKind::DescribeDelegationToken(_) => {
2990 DescribeDelegationTokenResponse::header_version(version)
2991 }
2992 ResponseKind::DeleteGroups(_) => DeleteGroupsResponse::header_version(version),
2993 ResponseKind::ElectLeaders(_) => ElectLeadersResponse::header_version(version),
2994 ResponseKind::IncrementalAlterConfigs(_) => {
2995 IncrementalAlterConfigsResponse::header_version(version)
2996 }
2997 ResponseKind::AlterPartitionReassignments(_) => {
2998 AlterPartitionReassignmentsResponse::header_version(version)
2999 }
3000 ResponseKind::ListPartitionReassignments(_) => {
3001 ListPartitionReassignmentsResponse::header_version(version)
3002 }
3003 ResponseKind::OffsetDelete(_) => OffsetDeleteResponse::header_version(version),
3004 ResponseKind::DescribeClientQuotas(_) => {
3005 DescribeClientQuotasResponse::header_version(version)
3006 }
3007 ResponseKind::AlterClientQuotas(_) => {
3008 AlterClientQuotasResponse::header_version(version)
3009 }
3010 ResponseKind::DescribeUserScramCredentials(_) => {
3011 DescribeUserScramCredentialsResponse::header_version(version)
3012 }
3013 ResponseKind::AlterUserScramCredentials(_) => {
3014 AlterUserScramCredentialsResponse::header_version(version)
3015 }
3016 ResponseKind::Vote(_) => VoteResponse::header_version(version),
3017 ResponseKind::BeginQuorumEpoch(_) => BeginQuorumEpochResponse::header_version(version),
3018 ResponseKind::EndQuorumEpoch(_) => EndQuorumEpochResponse::header_version(version),
3019 ResponseKind::DescribeQuorum(_) => DescribeQuorumResponse::header_version(version),
3020 ResponseKind::AlterPartition(_) => AlterPartitionResponse::header_version(version),
3021 ResponseKind::UpdateFeatures(_) => UpdateFeaturesResponse::header_version(version),
3022 ResponseKind::Envelope(_) => EnvelopeResponse::header_version(version),
3023 ResponseKind::FetchSnapshot(_) => FetchSnapshotResponse::header_version(version),
3024 ResponseKind::DescribeCluster(_) => DescribeClusterResponse::header_version(version),
3025 ResponseKind::DescribeProducers(_) => {
3026 DescribeProducersResponse::header_version(version)
3027 }
3028 ResponseKind::BrokerRegistration(_) => {
3029 BrokerRegistrationResponse::header_version(version)
3030 }
3031 ResponseKind::BrokerHeartbeat(_) => BrokerHeartbeatResponse::header_version(version),
3032 ResponseKind::UnregisterBroker(_) => UnregisterBrokerResponse::header_version(version),
3033 ResponseKind::DescribeTransactions(_) => {
3034 DescribeTransactionsResponse::header_version(version)
3035 }
3036 ResponseKind::ListTransactions(_) => ListTransactionsResponse::header_version(version),
3037 ResponseKind::AllocateProducerIds(_) => {
3038 AllocateProducerIdsResponse::header_version(version)
3039 }
3040 ResponseKind::ConsumerGroupHeartbeat(_) => {
3041 ConsumerGroupHeartbeatResponse::header_version(version)
3042 }
3043 ResponseKind::ConsumerGroupDescribe(_) => {
3044 ConsumerGroupDescribeResponse::header_version(version)
3045 }
3046 ResponseKind::ControllerRegistration(_) => {
3047 ControllerRegistrationResponse::header_version(version)
3048 }
3049 ResponseKind::GetTelemetrySubscriptions(_) => {
3050 GetTelemetrySubscriptionsResponse::header_version(version)
3051 }
3052 ResponseKind::PushTelemetry(_) => PushTelemetryResponse::header_version(version),
3053 ResponseKind::AssignReplicasToDirs(_) => {
3054 AssignReplicasToDirsResponse::header_version(version)
3055 }
3056 ResponseKind::ListClientMetricsResources(_) => {
3057 ListClientMetricsResourcesResponse::header_version(version)
3058 }
3059 ResponseKind::DescribeTopicPartitions(_) => {
3060 DescribeTopicPartitionsResponse::header_version(version)
3061 }
3062 ResponseKind::AddRaftVoter(_) => AddRaftVoterResponse::header_version(version),
3063 ResponseKind::RemoveRaftVoter(_) => RemoveRaftVoterResponse::header_version(version),
3064 ResponseKind::UpdateRaftVoter(_) => UpdateRaftVoterResponse::header_version(version),
3065 }
3066 }
3067}
3068
3069#[cfg(feature = "messages_enums")]
3070impl From<ProduceResponse> for ResponseKind {
3071 fn from(value: ProduceResponse) -> ResponseKind {
3072 ResponseKind::Produce(value)
3073 }
3074}
3075
3076#[cfg(feature = "messages_enums")]
3077impl From<FetchResponse> for ResponseKind {
3078 fn from(value: FetchResponse) -> ResponseKind {
3079 ResponseKind::Fetch(value)
3080 }
3081}
3082
3083#[cfg(feature = "messages_enums")]
3084impl From<ListOffsetsResponse> for ResponseKind {
3085 fn from(value: ListOffsetsResponse) -> ResponseKind {
3086 ResponseKind::ListOffsets(value)
3087 }
3088}
3089
3090#[cfg(feature = "messages_enums")]
3091impl From<MetadataResponse> for ResponseKind {
3092 fn from(value: MetadataResponse) -> ResponseKind {
3093 ResponseKind::Metadata(value)
3094 }
3095}
3096
3097#[cfg(feature = "messages_enums")]
3098impl From<LeaderAndIsrResponse> for ResponseKind {
3099 fn from(value: LeaderAndIsrResponse) -> ResponseKind {
3100 ResponseKind::LeaderAndIsr(value)
3101 }
3102}
3103
3104#[cfg(feature = "messages_enums")]
3105impl From<StopReplicaResponse> for ResponseKind {
3106 fn from(value: StopReplicaResponse) -> ResponseKind {
3107 ResponseKind::StopReplica(value)
3108 }
3109}
3110
3111#[cfg(feature = "messages_enums")]
3112impl From<UpdateMetadataResponse> for ResponseKind {
3113 fn from(value: UpdateMetadataResponse) -> ResponseKind {
3114 ResponseKind::UpdateMetadata(value)
3115 }
3116}
3117
3118#[cfg(feature = "messages_enums")]
3119impl From<ControlledShutdownResponse> for ResponseKind {
3120 fn from(value: ControlledShutdownResponse) -> ResponseKind {
3121 ResponseKind::ControlledShutdown(value)
3122 }
3123}
3124
3125#[cfg(feature = "messages_enums")]
3126impl From<OffsetCommitResponse> for ResponseKind {
3127 fn from(value: OffsetCommitResponse) -> ResponseKind {
3128 ResponseKind::OffsetCommit(value)
3129 }
3130}
3131
3132#[cfg(feature = "messages_enums")]
3133impl From<OffsetFetchResponse> for ResponseKind {
3134 fn from(value: OffsetFetchResponse) -> ResponseKind {
3135 ResponseKind::OffsetFetch(value)
3136 }
3137}
3138
3139#[cfg(feature = "messages_enums")]
3140impl From<FindCoordinatorResponse> for ResponseKind {
3141 fn from(value: FindCoordinatorResponse) -> ResponseKind {
3142 ResponseKind::FindCoordinator(value)
3143 }
3144}
3145
3146#[cfg(feature = "messages_enums")]
3147impl From<JoinGroupResponse> for ResponseKind {
3148 fn from(value: JoinGroupResponse) -> ResponseKind {
3149 ResponseKind::JoinGroup(value)
3150 }
3151}
3152
3153#[cfg(feature = "messages_enums")]
3154impl From<HeartbeatResponse> for ResponseKind {
3155 fn from(value: HeartbeatResponse) -> ResponseKind {
3156 ResponseKind::Heartbeat(value)
3157 }
3158}
3159
3160#[cfg(feature = "messages_enums")]
3161impl From<LeaveGroupResponse> for ResponseKind {
3162 fn from(value: LeaveGroupResponse) -> ResponseKind {
3163 ResponseKind::LeaveGroup(value)
3164 }
3165}
3166
3167#[cfg(feature = "messages_enums")]
3168impl From<SyncGroupResponse> for ResponseKind {
3169 fn from(value: SyncGroupResponse) -> ResponseKind {
3170 ResponseKind::SyncGroup(value)
3171 }
3172}
3173
3174#[cfg(feature = "messages_enums")]
3175impl From<DescribeGroupsResponse> for ResponseKind {
3176 fn from(value: DescribeGroupsResponse) -> ResponseKind {
3177 ResponseKind::DescribeGroups(value)
3178 }
3179}
3180
3181#[cfg(feature = "messages_enums")]
3182impl From<ListGroupsResponse> for ResponseKind {
3183 fn from(value: ListGroupsResponse) -> ResponseKind {
3184 ResponseKind::ListGroups(value)
3185 }
3186}
3187
3188#[cfg(feature = "messages_enums")]
3189impl From<SaslHandshakeResponse> for ResponseKind {
3190 fn from(value: SaslHandshakeResponse) -> ResponseKind {
3191 ResponseKind::SaslHandshake(value)
3192 }
3193}
3194
3195#[cfg(feature = "messages_enums")]
3196impl From<ApiVersionsResponse> for ResponseKind {
3197 fn from(value: ApiVersionsResponse) -> ResponseKind {
3198 ResponseKind::ApiVersions(value)
3199 }
3200}
3201
3202#[cfg(feature = "messages_enums")]
3203impl From<CreateTopicsResponse> for ResponseKind {
3204 fn from(value: CreateTopicsResponse) -> ResponseKind {
3205 ResponseKind::CreateTopics(value)
3206 }
3207}
3208
3209#[cfg(feature = "messages_enums")]
3210impl From<DeleteTopicsResponse> for ResponseKind {
3211 fn from(value: DeleteTopicsResponse) -> ResponseKind {
3212 ResponseKind::DeleteTopics(value)
3213 }
3214}
3215
3216#[cfg(feature = "messages_enums")]
3217impl From<DeleteRecordsResponse> for ResponseKind {
3218 fn from(value: DeleteRecordsResponse) -> ResponseKind {
3219 ResponseKind::DeleteRecords(value)
3220 }
3221}
3222
3223#[cfg(feature = "messages_enums")]
3224impl From<InitProducerIdResponse> for ResponseKind {
3225 fn from(value: InitProducerIdResponse) -> ResponseKind {
3226 ResponseKind::InitProducerId(value)
3227 }
3228}
3229
3230#[cfg(feature = "messages_enums")]
3231impl From<OffsetForLeaderEpochResponse> for ResponseKind {
3232 fn from(value: OffsetForLeaderEpochResponse) -> ResponseKind {
3233 ResponseKind::OffsetForLeaderEpoch(value)
3234 }
3235}
3236
3237#[cfg(feature = "messages_enums")]
3238impl From<AddPartitionsToTxnResponse> for ResponseKind {
3239 fn from(value: AddPartitionsToTxnResponse) -> ResponseKind {
3240 ResponseKind::AddPartitionsToTxn(value)
3241 }
3242}
3243
3244#[cfg(feature = "messages_enums")]
3245impl From<AddOffsetsToTxnResponse> for ResponseKind {
3246 fn from(value: AddOffsetsToTxnResponse) -> ResponseKind {
3247 ResponseKind::AddOffsetsToTxn(value)
3248 }
3249}
3250
3251#[cfg(feature = "messages_enums")]
3252impl From<EndTxnResponse> for ResponseKind {
3253 fn from(value: EndTxnResponse) -> ResponseKind {
3254 ResponseKind::EndTxn(value)
3255 }
3256}
3257
3258#[cfg(feature = "messages_enums")]
3259impl From<WriteTxnMarkersResponse> for ResponseKind {
3260 fn from(value: WriteTxnMarkersResponse) -> ResponseKind {
3261 ResponseKind::WriteTxnMarkers(value)
3262 }
3263}
3264
3265#[cfg(feature = "messages_enums")]
3266impl From<TxnOffsetCommitResponse> for ResponseKind {
3267 fn from(value: TxnOffsetCommitResponse) -> ResponseKind {
3268 ResponseKind::TxnOffsetCommit(value)
3269 }
3270}
3271
3272#[cfg(feature = "messages_enums")]
3273impl From<DescribeAclsResponse> for ResponseKind {
3274 fn from(value: DescribeAclsResponse) -> ResponseKind {
3275 ResponseKind::DescribeAcls(value)
3276 }
3277}
3278
3279#[cfg(feature = "messages_enums")]
3280impl From<CreateAclsResponse> for ResponseKind {
3281 fn from(value: CreateAclsResponse) -> ResponseKind {
3282 ResponseKind::CreateAcls(value)
3283 }
3284}
3285
3286#[cfg(feature = "messages_enums")]
3287impl From<DeleteAclsResponse> for ResponseKind {
3288 fn from(value: DeleteAclsResponse) -> ResponseKind {
3289 ResponseKind::DeleteAcls(value)
3290 }
3291}
3292
3293#[cfg(feature = "messages_enums")]
3294impl From<DescribeConfigsResponse> for ResponseKind {
3295 fn from(value: DescribeConfigsResponse) -> ResponseKind {
3296 ResponseKind::DescribeConfigs(value)
3297 }
3298}
3299
3300#[cfg(feature = "messages_enums")]
3301impl From<AlterConfigsResponse> for ResponseKind {
3302 fn from(value: AlterConfigsResponse) -> ResponseKind {
3303 ResponseKind::AlterConfigs(value)
3304 }
3305}
3306
3307#[cfg(feature = "messages_enums")]
3308impl From<AlterReplicaLogDirsResponse> for ResponseKind {
3309 fn from(value: AlterReplicaLogDirsResponse) -> ResponseKind {
3310 ResponseKind::AlterReplicaLogDirs(value)
3311 }
3312}
3313
3314#[cfg(feature = "messages_enums")]
3315impl From<DescribeLogDirsResponse> for ResponseKind {
3316 fn from(value: DescribeLogDirsResponse) -> ResponseKind {
3317 ResponseKind::DescribeLogDirs(value)
3318 }
3319}
3320
3321#[cfg(feature = "messages_enums")]
3322impl From<SaslAuthenticateResponse> for ResponseKind {
3323 fn from(value: SaslAuthenticateResponse) -> ResponseKind {
3324 ResponseKind::SaslAuthenticate(value)
3325 }
3326}
3327
3328#[cfg(feature = "messages_enums")]
3329impl From<CreatePartitionsResponse> for ResponseKind {
3330 fn from(value: CreatePartitionsResponse) -> ResponseKind {
3331 ResponseKind::CreatePartitions(value)
3332 }
3333}
3334
3335#[cfg(feature = "messages_enums")]
3336impl From<CreateDelegationTokenResponse> for ResponseKind {
3337 fn from(value: CreateDelegationTokenResponse) -> ResponseKind {
3338 ResponseKind::CreateDelegationToken(value)
3339 }
3340}
3341
3342#[cfg(feature = "messages_enums")]
3343impl From<RenewDelegationTokenResponse> for ResponseKind {
3344 fn from(value: RenewDelegationTokenResponse) -> ResponseKind {
3345 ResponseKind::RenewDelegationToken(value)
3346 }
3347}
3348
3349#[cfg(feature = "messages_enums")]
3350impl From<ExpireDelegationTokenResponse> for ResponseKind {
3351 fn from(value: ExpireDelegationTokenResponse) -> ResponseKind {
3352 ResponseKind::ExpireDelegationToken(value)
3353 }
3354}
3355
3356#[cfg(feature = "messages_enums")]
3357impl From<DescribeDelegationTokenResponse> for ResponseKind {
3358 fn from(value: DescribeDelegationTokenResponse) -> ResponseKind {
3359 ResponseKind::DescribeDelegationToken(value)
3360 }
3361}
3362
3363#[cfg(feature = "messages_enums")]
3364impl From<DeleteGroupsResponse> for ResponseKind {
3365 fn from(value: DeleteGroupsResponse) -> ResponseKind {
3366 ResponseKind::DeleteGroups(value)
3367 }
3368}
3369
3370#[cfg(feature = "messages_enums")]
3371impl From<ElectLeadersResponse> for ResponseKind {
3372 fn from(value: ElectLeadersResponse) -> ResponseKind {
3373 ResponseKind::ElectLeaders(value)
3374 }
3375}
3376
3377#[cfg(feature = "messages_enums")]
3378impl From<IncrementalAlterConfigsResponse> for ResponseKind {
3379 fn from(value: IncrementalAlterConfigsResponse) -> ResponseKind {
3380 ResponseKind::IncrementalAlterConfigs(value)
3381 }
3382}
3383
3384#[cfg(feature = "messages_enums")]
3385impl From<AlterPartitionReassignmentsResponse> for ResponseKind {
3386 fn from(value: AlterPartitionReassignmentsResponse) -> ResponseKind {
3387 ResponseKind::AlterPartitionReassignments(value)
3388 }
3389}
3390
3391#[cfg(feature = "messages_enums")]
3392impl From<ListPartitionReassignmentsResponse> for ResponseKind {
3393 fn from(value: ListPartitionReassignmentsResponse) -> ResponseKind {
3394 ResponseKind::ListPartitionReassignments(value)
3395 }
3396}
3397
3398#[cfg(feature = "messages_enums")]
3399impl From<OffsetDeleteResponse> for ResponseKind {
3400 fn from(value: OffsetDeleteResponse) -> ResponseKind {
3401 ResponseKind::OffsetDelete(value)
3402 }
3403}
3404
3405#[cfg(feature = "messages_enums")]
3406impl From<DescribeClientQuotasResponse> for ResponseKind {
3407 fn from(value: DescribeClientQuotasResponse) -> ResponseKind {
3408 ResponseKind::DescribeClientQuotas(value)
3409 }
3410}
3411
3412#[cfg(feature = "messages_enums")]
3413impl From<AlterClientQuotasResponse> for ResponseKind {
3414 fn from(value: AlterClientQuotasResponse) -> ResponseKind {
3415 ResponseKind::AlterClientQuotas(value)
3416 }
3417}
3418
3419#[cfg(feature = "messages_enums")]
3420impl From<DescribeUserScramCredentialsResponse> for ResponseKind {
3421 fn from(value: DescribeUserScramCredentialsResponse) -> ResponseKind {
3422 ResponseKind::DescribeUserScramCredentials(value)
3423 }
3424}
3425
3426#[cfg(feature = "messages_enums")]
3427impl From<AlterUserScramCredentialsResponse> for ResponseKind {
3428 fn from(value: AlterUserScramCredentialsResponse) -> ResponseKind {
3429 ResponseKind::AlterUserScramCredentials(value)
3430 }
3431}
3432
3433#[cfg(feature = "messages_enums")]
3434impl From<VoteResponse> for ResponseKind {
3435 fn from(value: VoteResponse) -> ResponseKind {
3436 ResponseKind::Vote(value)
3437 }
3438}
3439
3440#[cfg(feature = "messages_enums")]
3441impl From<BeginQuorumEpochResponse> for ResponseKind {
3442 fn from(value: BeginQuorumEpochResponse) -> ResponseKind {
3443 ResponseKind::BeginQuorumEpoch(value)
3444 }
3445}
3446
3447#[cfg(feature = "messages_enums")]
3448impl From<EndQuorumEpochResponse> for ResponseKind {
3449 fn from(value: EndQuorumEpochResponse) -> ResponseKind {
3450 ResponseKind::EndQuorumEpoch(value)
3451 }
3452}
3453
3454#[cfg(feature = "messages_enums")]
3455impl From<DescribeQuorumResponse> for ResponseKind {
3456 fn from(value: DescribeQuorumResponse) -> ResponseKind {
3457 ResponseKind::DescribeQuorum(value)
3458 }
3459}
3460
3461#[cfg(feature = "messages_enums")]
3462impl From<AlterPartitionResponse> for ResponseKind {
3463 fn from(value: AlterPartitionResponse) -> ResponseKind {
3464 ResponseKind::AlterPartition(value)
3465 }
3466}
3467
3468#[cfg(feature = "messages_enums")]
3469impl From<UpdateFeaturesResponse> for ResponseKind {
3470 fn from(value: UpdateFeaturesResponse) -> ResponseKind {
3471 ResponseKind::UpdateFeatures(value)
3472 }
3473}
3474
3475#[cfg(feature = "messages_enums")]
3476impl From<EnvelopeResponse> for ResponseKind {
3477 fn from(value: EnvelopeResponse) -> ResponseKind {
3478 ResponseKind::Envelope(value)
3479 }
3480}
3481
3482#[cfg(feature = "messages_enums")]
3483impl From<FetchSnapshotResponse> for ResponseKind {
3484 fn from(value: FetchSnapshotResponse) -> ResponseKind {
3485 ResponseKind::FetchSnapshot(value)
3486 }
3487}
3488
3489#[cfg(feature = "messages_enums")]
3490impl From<DescribeClusterResponse> for ResponseKind {
3491 fn from(value: DescribeClusterResponse) -> ResponseKind {
3492 ResponseKind::DescribeCluster(value)
3493 }
3494}
3495
3496#[cfg(feature = "messages_enums")]
3497impl From<DescribeProducersResponse> for ResponseKind {
3498 fn from(value: DescribeProducersResponse) -> ResponseKind {
3499 ResponseKind::DescribeProducers(value)
3500 }
3501}
3502
3503#[cfg(feature = "messages_enums")]
3504impl From<BrokerRegistrationResponse> for ResponseKind {
3505 fn from(value: BrokerRegistrationResponse) -> ResponseKind {
3506 ResponseKind::BrokerRegistration(value)
3507 }
3508}
3509
3510#[cfg(feature = "messages_enums")]
3511impl From<BrokerHeartbeatResponse> for ResponseKind {
3512 fn from(value: BrokerHeartbeatResponse) -> ResponseKind {
3513 ResponseKind::BrokerHeartbeat(value)
3514 }
3515}
3516
3517#[cfg(feature = "messages_enums")]
3518impl From<UnregisterBrokerResponse> for ResponseKind {
3519 fn from(value: UnregisterBrokerResponse) -> ResponseKind {
3520 ResponseKind::UnregisterBroker(value)
3521 }
3522}
3523
3524#[cfg(feature = "messages_enums")]
3525impl From<DescribeTransactionsResponse> for ResponseKind {
3526 fn from(value: DescribeTransactionsResponse) -> ResponseKind {
3527 ResponseKind::DescribeTransactions(value)
3528 }
3529}
3530
3531#[cfg(feature = "messages_enums")]
3532impl From<ListTransactionsResponse> for ResponseKind {
3533 fn from(value: ListTransactionsResponse) -> ResponseKind {
3534 ResponseKind::ListTransactions(value)
3535 }
3536}
3537
3538#[cfg(feature = "messages_enums")]
3539impl From<AllocateProducerIdsResponse> for ResponseKind {
3540 fn from(value: AllocateProducerIdsResponse) -> ResponseKind {
3541 ResponseKind::AllocateProducerIds(value)
3542 }
3543}
3544
3545#[cfg(feature = "messages_enums")]
3546impl From<ConsumerGroupHeartbeatResponse> for ResponseKind {
3547 fn from(value: ConsumerGroupHeartbeatResponse) -> ResponseKind {
3548 ResponseKind::ConsumerGroupHeartbeat(value)
3549 }
3550}
3551
3552#[cfg(feature = "messages_enums")]
3553impl From<ConsumerGroupDescribeResponse> for ResponseKind {
3554 fn from(value: ConsumerGroupDescribeResponse) -> ResponseKind {
3555 ResponseKind::ConsumerGroupDescribe(value)
3556 }
3557}
3558
3559#[cfg(feature = "messages_enums")]
3560impl From<ControllerRegistrationResponse> for ResponseKind {
3561 fn from(value: ControllerRegistrationResponse) -> ResponseKind {
3562 ResponseKind::ControllerRegistration(value)
3563 }
3564}
3565
3566#[cfg(feature = "messages_enums")]
3567impl From<GetTelemetrySubscriptionsResponse> for ResponseKind {
3568 fn from(value: GetTelemetrySubscriptionsResponse) -> ResponseKind {
3569 ResponseKind::GetTelemetrySubscriptions(value)
3570 }
3571}
3572
3573#[cfg(feature = "messages_enums")]
3574impl From<PushTelemetryResponse> for ResponseKind {
3575 fn from(value: PushTelemetryResponse) -> ResponseKind {
3576 ResponseKind::PushTelemetry(value)
3577 }
3578}
3579
3580#[cfg(feature = "messages_enums")]
3581impl From<AssignReplicasToDirsResponse> for ResponseKind {
3582 fn from(value: AssignReplicasToDirsResponse) -> ResponseKind {
3583 ResponseKind::AssignReplicasToDirs(value)
3584 }
3585}
3586
3587#[cfg(feature = "messages_enums")]
3588impl From<ListClientMetricsResourcesResponse> for ResponseKind {
3589 fn from(value: ListClientMetricsResourcesResponse) -> ResponseKind {
3590 ResponseKind::ListClientMetricsResources(value)
3591 }
3592}
3593
3594#[cfg(feature = "messages_enums")]
3595impl From<DescribeTopicPartitionsResponse> for ResponseKind {
3596 fn from(value: DescribeTopicPartitionsResponse) -> ResponseKind {
3597 ResponseKind::DescribeTopicPartitions(value)
3598 }
3599}
3600
3601#[cfg(feature = "messages_enums")]
3602impl From<AddRaftVoterResponse> for ResponseKind {
3603 fn from(value: AddRaftVoterResponse) -> ResponseKind {
3604 ResponseKind::AddRaftVoter(value)
3605 }
3606}
3607
3608#[cfg(feature = "messages_enums")]
3609impl From<RemoveRaftVoterResponse> for ResponseKind {
3610 fn from(value: RemoveRaftVoterResponse) -> ResponseKind {
3611 ResponseKind::RemoveRaftVoter(value)
3612 }
3613}
3614
3615#[cfg(feature = "messages_enums")]
3616impl From<UpdateRaftVoterResponse> for ResponseKind {
3617 fn from(value: UpdateRaftVoterResponse) -> ResponseKind {
3618 ResponseKind::UpdateRaftVoter(value)
3619 }
3620}
3621
3622#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default, Copy)]
3624pub struct BrokerId(pub i32);
3625
3626impl From<i32> for BrokerId {
3627 fn from(other: i32) -> Self {
3628 Self(other)
3629 }
3630}
3631impl From<BrokerId> for i32 {
3632 fn from(other: BrokerId) -> Self {
3633 other.0
3634 }
3635}
3636impl std::borrow::Borrow<i32> for BrokerId {
3637 fn borrow(&self) -> &i32 {
3638 &self.0
3639 }
3640}
3641impl std::ops::Deref for BrokerId {
3642 type Target = i32;
3643 fn deref(&self) -> &Self::Target {
3644 &self.0
3645 }
3646}
3647impl std::cmp::PartialEq<i32> for BrokerId {
3648 fn eq(&self, other: &i32) -> bool {
3649 &self.0 == other
3650 }
3651}
3652impl std::cmp::PartialEq<BrokerId> for i32 {
3653 fn eq(&self, other: &BrokerId) -> bool {
3654 self == &other.0
3655 }
3656}
3657impl std::fmt::Debug for BrokerId {
3658 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3659 self.0.fmt(f)
3660 }
3661}
3662impl NewType<i32> for BrokerId {}
3663
3664#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
3666pub struct GroupId(pub StrBytes);
3667
3668impl From<StrBytes> for GroupId {
3669 fn from(other: StrBytes) -> Self {
3670 Self(other)
3671 }
3672}
3673impl From<GroupId> for StrBytes {
3674 fn from(other: GroupId) -> Self {
3675 other.0
3676 }
3677}
3678impl std::borrow::Borrow<StrBytes> for GroupId {
3679 fn borrow(&self) -> &StrBytes {
3680 &self.0
3681 }
3682}
3683impl std::ops::Deref for GroupId {
3684 type Target = StrBytes;
3685 fn deref(&self) -> &Self::Target {
3686 &self.0
3687 }
3688}
3689impl std::cmp::PartialEq<StrBytes> for GroupId {
3690 fn eq(&self, other: &StrBytes) -> bool {
3691 &self.0 == other
3692 }
3693}
3694impl std::cmp::PartialEq<GroupId> for StrBytes {
3695 fn eq(&self, other: &GroupId) -> bool {
3696 self == &other.0
3697 }
3698}
3699impl std::fmt::Debug for GroupId {
3700 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3701 self.0.fmt(f)
3702 }
3703}
3704impl NewType<StrBytes> for GroupId {}
3705
3706#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default, Copy)]
3708pub struct ProducerId(pub i64);
3709
3710impl From<i64> for ProducerId {
3711 fn from(other: i64) -> Self {
3712 Self(other)
3713 }
3714}
3715impl From<ProducerId> for i64 {
3716 fn from(other: ProducerId) -> Self {
3717 other.0
3718 }
3719}
3720impl std::borrow::Borrow<i64> for ProducerId {
3721 fn borrow(&self) -> &i64 {
3722 &self.0
3723 }
3724}
3725impl std::ops::Deref for ProducerId {
3726 type Target = i64;
3727 fn deref(&self) -> &Self::Target {
3728 &self.0
3729 }
3730}
3731impl std::cmp::PartialEq<i64> for ProducerId {
3732 fn eq(&self, other: &i64) -> bool {
3733 &self.0 == other
3734 }
3735}
3736impl std::cmp::PartialEq<ProducerId> for i64 {
3737 fn eq(&self, other: &ProducerId) -> bool {
3738 self == &other.0
3739 }
3740}
3741impl std::fmt::Debug for ProducerId {
3742 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3743 self.0.fmt(f)
3744 }
3745}
3746impl NewType<i64> for ProducerId {}
3747
3748#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
3750pub struct TopicName(pub StrBytes);
3751
3752impl From<StrBytes> for TopicName {
3753 fn from(other: StrBytes) -> Self {
3754 Self(other)
3755 }
3756}
3757impl From<TopicName> for StrBytes {
3758 fn from(other: TopicName) -> Self {
3759 other.0
3760 }
3761}
3762impl std::borrow::Borrow<StrBytes> for TopicName {
3763 fn borrow(&self) -> &StrBytes {
3764 &self.0
3765 }
3766}
3767impl std::ops::Deref for TopicName {
3768 type Target = StrBytes;
3769 fn deref(&self) -> &Self::Target {
3770 &self.0
3771 }
3772}
3773impl std::cmp::PartialEq<StrBytes> for TopicName {
3774 fn eq(&self, other: &StrBytes) -> bool {
3775 &self.0 == other
3776 }
3777}
3778impl std::cmp::PartialEq<TopicName> for StrBytes {
3779 fn eq(&self, other: &TopicName) -> bool {
3780 self == &other.0
3781 }
3782}
3783impl std::fmt::Debug for TopicName {
3784 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3785 self.0.fmt(f)
3786 }
3787}
3788impl NewType<StrBytes> for TopicName {}
3789
3790#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Default)]
3792pub struct TransactionalId(pub StrBytes);
3793
3794impl From<StrBytes> for TransactionalId {
3795 fn from(other: StrBytes) -> Self {
3796 Self(other)
3797 }
3798}
3799impl From<TransactionalId> for StrBytes {
3800 fn from(other: TransactionalId) -> Self {
3801 other.0
3802 }
3803}
3804impl std::borrow::Borrow<StrBytes> for TransactionalId {
3805 fn borrow(&self) -> &StrBytes {
3806 &self.0
3807 }
3808}
3809impl std::ops::Deref for TransactionalId {
3810 type Target = StrBytes;
3811 fn deref(&self) -> &Self::Target {
3812 &self.0
3813 }
3814}
3815impl std::cmp::PartialEq<StrBytes> for TransactionalId {
3816 fn eq(&self, other: &StrBytes) -> bool {
3817 &self.0 == other
3818 }
3819}
3820impl std::cmp::PartialEq<TransactionalId> for StrBytes {
3821 fn eq(&self, other: &TransactionalId) -> bool {
3822 self == &other.0
3823 }
3824}
3825impl std::fmt::Debug for TransactionalId {
3826 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3827 self.0.fmt(f)
3828 }
3829}
3830impl NewType<StrBytes> for TransactionalId {}