ztimer 0.1.2

A block-based, non-circular double-linked list implementation for Rust.
Documentation
// Copyright 2024 Lorby Bi
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#[cfg(not(all(test, feature = "mock_clock")))]
pub(super) mod clock;
#[cfg(not(all(test, feature = "mock_clock")))]
pub(self) use clock::Scheduler;

#[cfg(all(test, feature = "mock_clock"))]
pub(super) mod mock_clock;
#[cfg(all(test, feature = "mock_clock"))]
pub(self) use mock_clock::Scheduler;

#[cfg(not(all(test, feature = "mock_clock")))]
pub(super) use clock::{Clock, ClockPtr};
#[cfg(all(test, feature = "mock_clock"))]
pub(super) use mock_clock::{MockClock as Clock, MockClockPtr as ClockPtr};
#[cfg(not(all(test, feature = "mock_clock")))]
pub(self) use stats::{Counter, Stats};

pub(super) mod srcell;
pub(self) mod stats;
pub(super) mod ticker;
pub(super) use srcell::{SyncUnsafeRcRefCell, SyncUnsafeWeakRefCell};
pub(super) use ticker::Ticker;
pub mod tick;
pub(super) mod timer;
pub(self) use super::MyError;

pub(self) use super::NonBlockTickBridge;
pub use tick::Tick;
pub(self) use tick::{Interval, DURATION_PER_TICK, TICKS_PER_SECOND};
pub(super) use timer::Timer;
pub(self) use timer::{TimerHandle, TPL};