This is an internal package containing implementations of presence APIs.
presence APIs should be accessed via @fluidframework/presence package.
@fluidframework/presence
|
+---------^---------+-------+
| | |
./states ./runtime |
| | |
^---------v---------+ |
| | | |
| ./workspace | |
| | | |
^-------v-+---------^ |
| | | |
| ./utils | |
| | | |
^-------^---v-------^-------^
|
@fluid-internal/presence-definitions
Purpose: Utility functions and shared implementations.
Files:
internalUtils.ts→objectEntries,objectKeys,getOrCreateRecord, JSON helperstimerManager.ts→TimerManagerclassbroadcastControls.ts→OptionalBroadcastControl,RequiredBroadcastControlclassesvalueManager.ts→brandIVM,unbrandIVM
Purpose: Workspace abstractions and state datastore contracts.
Files:
stateDatastore.ts→StateDatastoreinterface,handleFromDatastore,datastoreFromHandlepresenceStates.ts→PresenceStatesImpl,createPresenceStates, workspace implementation
Purpose: Core runtime - presence manager, datastore manager, system workspace.
Exposes: extension elements ContainerPresenceFactory and extensionId
Files:
extension/containerPresence.ts→ContainerPresenceFactory,extensionIdpresenceDatastoreManager.ts→PresenceDatastoreManagerImplpresenceManager.ts→PresenceManagerclass,createPresenceManagerprotocol.ts→ Message type definitions,joinMessageType,datastoreUpdateMessageType,acknowledgementMessageTyperuntimeTypes.ts→IEphemeralRuntime,ExtensionHostsystemWorkspace.ts→SystemWorkspace,createSystemWorkspace
Purpose: State manager implementations.
Exposes: StateFactory and Notifications (factory)
Files:
latestMapValueManager.ts→latestMapfactorylatestValueManager.ts→latestfactorynotificationsManager.ts→NotificationsManager,Notificationsfactorypresence.ts→SpecificAttendeestateFactory.ts→StateFactoryobjectvalidatedGetter.ts→createValidatedGetter