prns-core 0.3.4

Pure Reticulum engine and wire contract for Personal Reticulum
mod advertisement;
#[cfg(feature = "interface-discovery-archive")]
mod archive;
mod autoconnect;
mod catalog;
mod codec;
mod coordinator;
mod intake;
mod policy;
mod protocol;
mod publication;
mod stamp;
mod storage;

pub use crate::interfaces::InterfaceOriginKind;
pub use advertisement::{
    AdvertisedInterfaceType, AdvertisedTransport, AdvertisementDetails, DiscoveryAdvertisement,
    GeographicLocation, PublishedIfac,
};
#[cfg(feature = "interface-discovery-archive")]
pub use archive::{
    discovered_interface_configuration, ArchiveFileOperation, ArchiveRecordError, DiscoveryArchive,
    DiscoveryArchiveError, DiscoveryArchiveFileState, DiscoveryArchiveRecord, HexDecodeError,
    LoadedDiscoveryArchive, DISCOVERED_INTERFACES_FILE,
};
pub use autoconnect::{
    ActiveDiscoveredInterface, DiscoveredConnectionAccess, DiscoveredConnectionEndpoint,
    DiscoveredConnectionEndpointId, DiscoveredConnectionHealth, DiscoveredConnectionKind,
    DiscoveredConnectionPlan, DiscoveredConnectionRegistrationError,
    DISCOVERED_INTERFACE_DETACH_AFTER,
};
pub use catalog::{
    DiscoveryCatalog, DiscoveryCatalogRefresh, DiscoveryCatalogRestoreError, DiscoveryCatalogSeed,
    DiscoveryCatalogStoreError, DiscoveryCatalogUpdate, DiscoveryObservationCount, DiscoveryRecord,
};
pub use codec::{
    decode_advertisement, decode_envelope, encode_advertisement, encode_encrypted_envelope,
    encode_plaintext_envelope, DiscoveryDecodeError, DiscoveryEncodeError, DiscoveryEnvelope,
    DiscoveryEnvelopeBody, DiscoveryEnvelopeError, DiscoveryField,
};
pub use coordinator::{
    DiscoveryAttachmentRegistrationFailure, DiscoveryCoordinator, DiscoveryCoordinatorAction,
    DiscoveryCoordinatorEvent, DiscoveryCoordinatorOutput, DiscoveryEndpointReservation,
    DiscoveryEndpointReservationError, DiscoveryIngressEligibility, DiscoveryIngressFilter,
};
pub use intake::{
    ingest_discovery_announce, DiscoveredInterface, DiscoveredInterfaceId,
    DiscoveryDecryptionError, DiscoveryEnvelopeSecurity, DiscoveryIdentityRole, DiscoveryIntake,
    DiscoveryNotApplicable, DiscoveryProvenance, DiscoveryRejection, DiscoveryRejectionKind,
    InterfaceOrigin,
};
pub use policy::{
    discovered_interface_status, AutoConnectPolicy, AutoConnectRoutingPolicy,
    DiscoveredInterfaceStatus, DiscoverySourceAllowList, DiscoverySourcePolicy,
    EnabledDiscoveryPolicy, InterfaceDiscoveryPolicy, DISCOVERY_EXPIRES_AFTER,
    DISCOVERY_STALE_AFTER, DISCOVERY_UNKNOWN_AFTER,
};
pub use protocol::{discovery_destination_hash, APP_ASPECTS, APP_NAME, DOTTED_NAME_HASH};
pub use publication::{
    frame_discovery_publication, prepare_discovery_publication,
    prepare_discovery_publication_with_stamp_cache, DiscoveryPublicationEncryptionError,
    DiscoveryPublicationFrameError, DiscoveryPublicationPreparation,
    DiscoveryPublicationRegistration, DiscoveryPublicationSchedule,
    DiscoveryPublicationScheduleError, DiscoveryPublicationSecurity, DiscoveryPublicationTiming,
    PreparedDiscoveryAdvertisement,
};
pub use stamp::{
    generate_stamp, stamp_value, validate_stamp, AdvertisementHash, GeneratedStamp, StampCost,
    StampCostError, StampGeneration, StampValidation, StampValue, StampValueError,
    DEFAULT_STAMP_COST, STAMP_SIZE, WORKBLOCK_EXPAND_ROUNDS,
};
pub use storage::{
    discovery_validation_index_buckets, DiscoveredConnectionTable, DiscoveredEndpointSet,
    DiscoveryCatalogTable, DiscoveryValidationCache, FixedDiscoveryValidationCache,
    GrowableInterfaceDiscoveryStorage, HeapDiscoveredConnectionTable, HeapDiscoveredEndpointSet,
    HeapDiscoveryCatalogTable, HeapDiscoveryValidationCache, InterfaceDiscoveryStorage,
    RNS_VALIDATION_CACHE_CAPACITY,
};