krabka_client_streams/membership/
types.rs1#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
8pub struct TopicPartition {
9 pub topic: String,
10 pub partition: i32,
11}
12
13#[derive(Debug, Clone, PartialEq, Eq)]
15pub struct TaskAssignment {
16 pub subtopology_id: String,
17 pub partitions: Vec<i32>,
18 pub source_topic_partitions: Vec<TopicPartition>,
19}
20
21#[derive(Debug, Clone, Default, PartialEq, Eq)]
24pub struct StreamsAssignment {
25 pub active: Vec<TaskAssignment>,
26 pub standby: Vec<TaskAssignment>,
27 pub warmup: Vec<TaskAssignment>,
28}
29
30#[derive(Debug, Clone, Default)]
32pub struct TaskOffsetTracker {
33 pub task_offsets: std::collections::HashMap<(String, i32), i64>,
34 pub task_end_offsets: std::collections::HashMap<(String, i32), i64>,
35}
36
37#[derive(Debug, Clone, PartialEq, Eq)]
40pub enum StreamsStatus {
41 StaleTopology(String),
42 MissingSourceTopics(String),
43 IncorrectlyPartitionedTopics(String),
44 MissingInternalTopics(String),
45 ShutdownApplication,
46 AssignmentDelayed(String),
47 Unknown(i8, String),
48}
49
50#[derive(Debug, Clone, PartialEq, Eq)]
52pub enum StreamsEvent {
53 Assigned(StreamsAssignment),
55 NotReady(Vec<StreamsStatus>),
58 Fenced,
61}