rocketmq_common/common/base/
service_state.rs

1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17use std::fmt::Display;
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq)]
20pub enum ServiceState {
21    /// Service just created, not started
22    CreateJust,
23    /// Service running
24    Running,
25    /// Service shutdown
26    ShutdownAlready,
27    /// Service start failure
28    StartFailed,
29}
30
31impl Display for ServiceState {
32    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
33        match self {
34            ServiceState::CreateJust => write!(f, "CreateJust"),
35            ServiceState::Running => write!(f, "Running"),
36            ServiceState::ShutdownAlready => write!(f, "ShutdownAlready"),
37            ServiceState::StartFailed => write!(f, "StartFailed"),
38        }
39    }
40}