Interface ICharacterWaypointService
- Namespace
- FishMMO.Database.Npgsql.Services.Interfaces
- Assembly
- FishMMO-DB.dll
Service interface for per-character discovered-waypoint bitmasks.
public interface ICharacterWaypointService : IFetchCollectionByKeyAction<long, CharacterWaypointData>, IDeleteByKeyAction<long>
- Inherited Members
Remarks
Not IPersistManyAction: that contract describes a versioned row where the newest
writer wins. This row is a growing bitmask that is merged, never replaced. See
CharacterWaypointData.
Methods
MergeAsync(IEnumerable<CharacterWaypointData>, CancellationToken)
OR-merges pages into the stored masks, creating rows that do not exist yet.
Task<DatabaseResult> MergeAsync(IEnumerable<CharacterWaypointData> pages, CancellationToken cancellationToken = default)
Parameters
pagesIEnumerable<CharacterWaypointData>The pages to merge. Bits already stored are retained.
cancellationTokenCancellationTokenToken to cancel the operation.
Returns
- Task<DatabaseResult>
Success, or the failure that stopped the whole batch.
Remarks
Idempotent: a retry after an ambiguous failure, or two scene servers writing during a transfer, converge on the union. A bit can never be cleared through this call; a character does not un-discover a place.