Skip to content

feat: expose Big Segments via public Client and Config APIs#552

Draft
beekld wants to merge 5 commits into
beeklimt/SDK-2366-2from
beeklimt/SDK-2368
Draft

feat: expose Big Segments via public Client and Config APIs#552
beekld wants to merge 5 commits into
beeklimt/SDK-2366-2from
beeklimt/SDK-2368

Conversation

@beekld

@beekld beekld commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Expose Big Segments to customer code

Makes the server-side Big Segments feature reachable from customer code: a public config method to wire a store, and a status provider on the client for querying store health and subscribing to changes. Builds on SDK-2366-2.

What's in

  • Promotes BigSegmentsBuilder to the public include tree and adds ConfigBuilder::BigSegments(BigSegmentsBuilder), surfaced as an optional Config::BigSegments().
  • New public IBigSegmentStoreStatusProvider and BigSegmentStoreStatus (IsAvailable()/IsStale()), plus Client::BigSegmentStoreStatus().
  • ClientImpl constructs the BigSegmentStoreWrapper from config, hands it to the evaluator, and starts its background poll. An internal adapter exposes the wrapper's status broadcaster as the public provider.
  • BigSegmentsBuilder::Build() now returns a new error code when the store is null.

Design notes

  • The status surface mirrors DataSourceStatus: the accessor is Status(), and listeners use OnBigSegmentStoreStatusChange(handler) -> IConnection.
  • When no store is configured, the provider reports the store as unavailable and registered listeners never fire.

Testing

Unit tests added for the new behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant