Class BigSegmentStoreTypes
Types that are used by the IBigSegmentStore interface.
Inherited Members
Namespace: LaunchDarkly.Sdk.Server.Subsystems
Assembly: LaunchDarkly.ServerSdk.dll
Syntax
public static class BigSegmentStoreTypes
Methods
| Edit this page View SourceNewMembershipFromSegmentRefs(IEnumerable<string>, IEnumerable<string>)
Convenience method for creating an implementation of BigSegmentStoreTypes.IMembership.
Declaration
public static BigSegmentStoreTypes.IMembership NewMembershipFromSegmentRefs(IEnumerable<string> includedSegmentRefs, IEnumerable<string> excludedSegmentRefs)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<string> | includedSegmentRefs | the inclusion list (null is equivalent to an empty enumeration) |
IEnumerable<string> | excludedSegmentRefs | the exclusion list (null is equivalent to an empty enumeration) |
Returns
Type | Description |
---|---|
BigSegmentStoreTypes.IMembership |
Remarks
This method is intended to be used by Big Segment store implementations; application code does not need to use it.
Store implementations are free to implement BigSegmentStoreTypes.IMembership in any way that they find convenient and efficient, depending on what format they obtain values in from the database, but this method provides a simple way to do it as long as there are enumerations of included and excluded segment references. As described in BigSegmentStoreTypes.IMembership, a
segmentRef
is not the same as the key property in the segment data model; it
includes the key but also versioning information that the SDK will provide. The store
implementation should not be concerned with the format of this.
The returned object's CheckMembership(string) method will return true for any
segmentRef
that is in the included list,
false for any segmentRef
that is in the excluded list and
not also in the included list (that is, inclusions override exclusions), and
null for all others.
The method is optimized to return a singleton empty membership object whenever the inclusion and exclusion lists are both empty.
The returned object implements Equals(object) in such a way that it correctly tests equality when compared to any object returned from this factory method, but is always unequal to any other types of objects.