Table of Contents

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

pages IEnumerable<CharacterWaypointData>

The pages to merge. Bits already stored are retained.

cancellationToken CancellationToken

Token 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.