d_engine_proto/exts/
common_ext.rs1use bytes::Bytes;
2
3use crate::common::EntryPayload;
4use crate::common::MembershipChange;
5use crate::common::Noop;
6use crate::common::entry_payload::Payload;
7use crate::common::membership_change::Change;
8
9impl EntryPayload {
10 pub fn command(command: Bytes) -> Self {
11 Self {
12 payload: Some(Payload::Command(command)),
13 }
14 }
15 pub fn noop() -> Self {
16 Self {
17 payload: Some(Payload::Noop(Noop {})),
18 }
19 }
20
21 pub fn config(change: Change) -> Self {
22 Self {
23 payload: Some(Payload::Config(MembershipChange {
24 change: Some(change),
25 })),
26 }
27 }
28
29 pub fn is_config(&self) -> bool {
30 match self.payload {
31 Some(Payload::Command(_)) => false,
32 Some(Payload::Config(_)) => true,
33 Some(Payload::Noop(_)) => false,
34 None => false,
35 }
36 }
37
38 pub fn is_command(&self) -> bool {
39 match self.payload {
40 Some(Payload::Command(_)) => true,
41 Some(Payload::Config(_)) => false,
42 Some(Payload::Noop(_)) => false,
43 None => false,
44 }
45 }
46
47 pub fn is_noop(&self) -> bool {
48 match self.payload {
49 Some(Payload::Command(_)) => false,
50 Some(Payload::Config(_)) => false,
51 Some(Payload::Noop(_)) => true,
52 None => false,
53 }
54 }
55}