nautilus_core/
message.rs

1// -------------------------------------------------------------------------------------------------
2//  Copyright (C) 2015-2025 Nautech Systems Pty Ltd. All rights reserved.
3//  https://nautechsystems.io
4//
5//  Licensed under the GNU Lesser General Public License Version 3.0 (the "License");
6//  You may not use this file except in compliance with the License.
7//  You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.en.html
8//
9//  Unless required by applicable law or agreed to in writing, software
10//  distributed under the License is distributed on an "AS IS" BASIS,
11//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//  See the License for the specific language governing permissions and
13//  limitations under the License.
14// -------------------------------------------------------------------------------------------------
15
16//! Common message types.
17
18use crate::{UnixNanos, UUID4};
19
20#[derive(Debug, Clone)]
21pub enum Message {
22    Command {
23        id: UUID4,
24        ts_init: UnixNanos,
25    },
26    Document {
27        id: UUID4,
28        ts_init: UnixNanos,
29    },
30    Event {
31        id: UUID4,
32        ts_init: UnixNanos,
33        ts_event: UnixNanos,
34    },
35    Request {
36        id: UUID4,
37        ts_init: UnixNanos,
38    },
39    Response {
40        id: UUID4,
41        ts_init: UnixNanos,
42        correlation_id: UUID4,
43    },
44}