soundworks | plugin checkin
soundworks
plugin to assign a unique index to the clients among the available ones.
When a client disconnects, it's index is recycled into the pool of available indexes and can be re-assigned to a newly connected client. The number of available indexes can be limited and can be associated to additional data.
Table of Contents
Installation
npm install @soundworks/plugin-checkin --save
Usage
Server
// index.js
import { Server } from '@soundworks/core/server.js';
import pluginCheckin from '@soundworks/plugin-checkin/server.js';
const server = new Server();
server.pluginManager.register('checkin', pluginCheckin);
Client
// index.js
import { Client } from '@soundworks/core/client.js';
import pluginCheckin from '@soundworks/plugin-checkin/client.js';
const client = new Client();
client.pluginManager.register('checkin', pluginCheckin);
await client.start();
const checkin = await client.pluginManager.get('checkin');
const index = checkin.getIndex();
API
Classes
- PluginCheckinClient
Client-side representation of the soundworks' checkin plugin.
- PluginCheckinServer
Server-side representation of the soundworks' checkin plugin.
PluginCheckinClient
Client-side representation of the soundworks' checkin plugin.
Kind: global class
- PluginCheckinClient
- .getIndex() ⇒
number
- .getData() ⇒
mixed
- .getIndex() ⇒
pluginCheckinClient.getIndex() ⇒ number
Return the unique index given to the client
Kind: instance method of PluginCheckinClient
pluginCheckinClient.getData() ⇒ mixed
Return the associated data given to the client (if any)
Kind: instance method of PluginCheckinClient
PluginCheckinServer
Server-side representation of the soundworks' checkin plugin.
new PluginCheckinServer()
The constructor should never be called manually. The plugin will be instantiated by soundworks when registered in the pluginManager
Available options:
capacity
{number} [Infinity] - Number of available indexesdata
{array} - optionnal data associated to a given index.
Example
server.pluginManager.register('checkin', pluginCheckin, {
capacity: 3,
data: [{ color: 'green' }, { color: 'yellow' }, { color: 'pink' }],
});
Credits
https://soundworks.dev/credits.html