ISegment Interface
A segment representing a portion of the merge tree.
Signature
export interface ISegment extends IMergeNodeCommon, Partial<IRemovalInfo>
Extends: IMergeNodeCommon, Partial<IRemovalInfo
Properties
| Property | Modifiers | Type | Description |
|---|---|---|---|
| clientId | number | ||
| localRefs | optional |
LocalReferenceCollection | |
| localRemovedSeq | optional |
number | |
| localSeq | optional |
number | |
| properties | optional |
PropertySet | |
| propertyManager | optional |
PropertiesManager | |
| segmentGroups | SegmentGroupCollection | ||
| seq | optional |
number | |
| trackingCollection | TrackingGroupCollection | ||
| type | string |
Methods
| Method | Return Type | Description |
|---|---|---|
| ack(segmentGroup, opArgs, mergeTree) | boolean |
Acks the current segment against the segment group, op, and merge tree. Throws error if the segment state doesn't match segment group or op. E.g. Segment group not first is pending queue. Inserted segment does not have unassigned sequence number. Returns true if the op modifies the segment, otherwise false. The only current false case is overlapping remove, where a segment is removed by a previously sequenced operation before the current operation is acked. |
| addProperties(newProps, op, seq, collabWindow) | PropertySet | undefined | |
| append(segment) | void | |
| canAppend(segment) | boolean | |
| clone() | ISegment | |
| splitAt(pos) | ISegment | undefined | |
| toJSONObject() | any |
Property Details
clientId
Signature
clientId: number;
Type: number
localRefs
Signature
localRefs?: LocalReferenceCollection;
Type: LocalReferenceCollection
localRemovedSeq
Signature
localRemovedSeq?: number;
Type: number
localSeq
Signature
localSeq?: number;
Type: number
properties
Signature
properties?: PropertySet;
Type: PropertySet
propertyManager
Signature
propertyManager?: PropertiesManager;
Type: PropertiesManager
segmentGroups
Signature
readonly segmentGroups: SegmentGroupCollection;
Type: SegmentGroupCollection
seq
Signature
seq?: number;
Type: number
trackingCollection
Signature
readonly trackingCollection: TrackingGroupCollection;
Type: TrackingGroupCollection
type
Signature
readonly type: string;
Type: string
Method Details
ack
Acks the current segment against the segment group, op, and merge tree.
Throws error if the segment state doesn't match segment group or op. E.g. Segment group not first is pending queue. Inserted segment does not have unassigned sequence number.
Returns true if the op modifies the segment, otherwise false. The only current false case is overlapping remove, where a segment is removed by a previously sequenced operation before the current operation is acked.
Signature
ack(segmentGroup: SegmentGroup, opArgs: IMergeTreeDeltaOpArgs, mergeTree: MergeTree): boolean;
Parameters
| Parameter | Type | Description |
|---|---|---|
| segmentGroup | SegmentGroup | |
| opArgs | IMergeTreeDeltaOpArgs | |
| mergeTree | MergeTree |
Returns
Return type: boolean
addProperties
Signature
addProperties(newProps: PropertySet, op?: ICombiningOp, seq?: number, collabWindow?: CollaborationWindow): PropertySet | undefined;
Parameters
| Parameter | Modifiers | Type | Description |
|---|---|---|---|
| newProps | PropertySet | ||
| op | optional | ICombiningOp | |
| seq | optional | number | |
| collabWindow | optional | CollaborationWindow |
Returns
Return type: PropertySet | undefined
append
Signature
append(segment: ISegment): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| segment | ISegment |
canAppend
Signature
canAppend(segment: ISegment): boolean;
Parameters
| Parameter | Type | Description |
|---|---|---|
| segment | ISegment |
Returns
Return type: boolean
clone
Signature
clone(): ISegment;
Returns
Return type: ISegment
splitAt
Signature
splitAt(pos: number): ISegment | undefined;
Parameters
| Parameter | Type | Description |
|---|---|---|
| pos | number |
Returns
Return type: ISegment | undefined
toJSONObject
Signature
toJSONObject(): any;
Returns
Return type: any