Skip to content

server: port ServiceInfo / EventGroupInfo to heapless::Vec for bare-metal exposure #116

@JustinKovacich

Description

@JustinKovacich

Context

server::ServiceInfo and server::EventGroupInfo are currently cfg(feature = "std")-gated. Their pub fields hold Vec<Subscriber> / Vec<EventGroupInfo>, so they cannot be constructed in no_std builds even with allocator available.

Bare-metal consumers don't construct these types today — there is no triggering use case.

Goal

When a bare-metal consumer needs to construct or read these types, switch the Vec<...> fields to heapless::Vec<..., N> with a sized capacity, drop the cfg(feature = "std") gate, and re-export from server::* unconditionally.

Subscriber is unaffected and stays no_std.

Triggering condition

This issue stays open until a real consumer asks for the types in a bare-metal build. Don't speculatively size the heapless caps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions