Skip to main content

Module common

Module common 

Source
Expand description

Shared protocol, codec, error, and runtime support for flare-core.

This module is the stable foundation used by both client and server builds. It intentionally contains transport-neutral building blocks:

  • protocol defines the public frame and command model.
  • message provides parsers, processors, middleware, and pipelines.
  • serializer, compression, and encryption provide pluggable wire transformations.
  • error exposes typed errors and localized error construction.
  • config_types contains cross-cutting configuration such as heartbeat, TLS, and transport selection.
  • features reports the capability set compiled into the current binary.

Higher-level IM semantics should not be placed here. Keep this module focused on reusable transport and protocol primitives.

Re-exports§

pub use compression::CompressionAlgorithm;
pub use compression::CompressionUtil;
pub use compression::Compressor;
pub use config_types::HeartbeatAppState;
pub use config_types::HeartbeatConfig;
pub use config_types::TlsConfig;
pub use config_types::TransportProtocol;
pub use device::DeviceConflictStrategy;
pub use device::DeviceConflictStrategyBuilder;
pub use device::DeviceInfo;
pub use device::DevicePlatform;
pub use encryption::EncryptionAlgorithm;
pub use encryption::EncryptionUtil;
pub use encryption::Encryptor;
pub use error::ClientError;
pub use error::ErrorBuilder;
pub use error::ErrorCode;
pub use error::FlareError;
pub use error::Result;
pub use error::ServerError;
pub use features::FeatureSet;
pub use message::ArcMessageMiddleware;
pub use message::ArcMessageProcessor;
pub use message::DelegateProcessor;
pub use message::FunctionProcessor;
pub use message::LogLevel;
pub use message::LoggingMiddleware;
pub use message::MessageContext;
pub use message::MessageEvent;
pub use message::MessageHandler;
pub use message::MessageMiddleware;
pub use message::MessageParser;
pub use message::MessagePipeline;
pub use message::MessageProcessor;
pub use message::MetricsMiddleware;
pub use message::ValidationMiddleware;
pub use message_observer::ArcMessageObserver;
pub use message_observer::MessageObserver;
pub use platform::AES256_KEY_LEN;
pub use platform::clear_runtime_encryption_key;
pub use platform::default_local_ws_url;
pub use platform::format_now_rfc3339;
pub use platform::has_runtime_encryption_key;
pub use platform::monotonic_now;
pub use platform::parse_encryption_key_hex;
pub use platform::parse_encryption_key_utf8;
pub use platform::register_aes256_encryption;
pub use platform::resolve_encryption_key_bytes;
pub use platform::runtime_instance_id;
pub use platform::set_runtime_encryption_key;
pub use platform::wall_clock_ms;
pub use platform::web_device_info;
pub use protocol::Command;
pub use protocol::CustomCommand;
pub use protocol::Frame;
pub use protocol::NotificationCommand;
pub use protocol::PayloadCommand;
pub use protocol::Reliability;
pub use protocol::SerializationFormat;
pub use protocol::SystemCommand;
pub use serializer::SerializationUtil;
pub use serializer::Serializer;
pub use constants::*;
pub use conversation::*;
pub use utils::*;

Modules§

cert
证书模块
compression
压缩模块
config_types
共享配置类型
constants
常量定义模块
conversation
Conversation ID(CID)生成与校验模块(Production Grade)
device
设备平台和设备信息管理
encryption
加密模块
error
Flare 错误处理模块
features
Compile-time feature capability matrix.
message
消息处理模块
message_observer
标准消息观察者接口
platform
跨平台工具(Native / WASM 差异封装)
protobuf_decoder
安全的 Protobuf 解码器(含粘包处理)
protocol
Flare 协议模块
serializer
序列化模块
utils
工具函数模块

Structs§

MonotonicInstant
A measurement of a monotonically nondecreasing clock. Opaque and useful only with Duration.

Functions§

interval
Creates new Interval that yields with interval of period. The first tick completes immediately. The default MissedTickBehavior is Burst, but this can be configured by calling set_missed_tick_behavior.
sleep
Waits until duration has elapsed.
timeout
Requires a Future to complete before the specified duration has elapsed.