use crate::operations::common::payload::payload;
payload! { Publish,
stream: String => (1, Kind::String, Required),
schema: u32 => (2, Kind::U32, Required),
sequence: Option<u64> => (3, Kind::U64, Optional),
published_unix_micros: Option<i64> => (4, Kind::I64, Optional),
context: Option<String> => (5, Kind::String, Optional),
payload: Vec<u8> => (6, Kind::Bytes, Required),
following: Vec<FollowingRow> => (7, Kind::Message { definition: FollowingRow::DEFINITION }, Repeated),
}
payload! { FollowingRow,
payload: Vec<u8> => (1, Kind::Bytes, Required),
published_delta_micros: Option<i64> => (2, Kind::I64, Optional),
}