ZenohFeatures class abstract final

Runtime detection of which optional zenoh features the loaded native was built with.

Reads the C shim's zd_features() bitmask once and caches it. The unstable entrypoints gate on this so that importing zenoh_unstable.dart against a native that lacks the feature (a build-variant mismatch — forgotten user_defines, a typo'd package name, or a stale .so) fails loudly with a fix-naming error instead of crashing inside zenoh-c.

The compile-time partition is not the whole story, and this file is no longer only about the door. A stable-door consumer cannot name the unstable API — that much is enforced at compile time. But the door a consumer imports and the native their pubspec selects are ORTHOGONAL AXES, and one stable-door member falls in the gap: CongestionControl.blockFirst, which canon declares only under Z_FEATURE_UNSTABLE_API. It gates on ZenohFeatures.hasUnstableApi too — see requireCongestionControlSupported.

So this file covers two runtime cases, not one: "unstable API imported, stable native loaded", and "stable-door member the loaded native cannot represent".

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

hasSharedMemory bool
Whether Z_FEATURE_SHARED_MEMORY was compiled into the loaded native.
no setter
hasUnstableApi bool
Whether Z_FEATURE_UNSTABLE_API was compiled into the loaded native.
no setter