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 also be associated to additional data.
npm install @soundworks/plugin-checkin --save
import { Server } from '@soundworks/core/server.js';
import ServerPluginCheckin from '@soundworks/plugin-checkin/server.js';
const server = new Server();
server.pluginManager.register('checkin', ServerPluginCheckin);
import { Client } from '@soundworks/core/client.js';
import ClientPluginCheckin from '@soundworks/plugin-checkin/client.js';
const client = new Client();
client.pluginManager.register('checkin', ClientPluginCheckin);
await client.start();
const checkin = await client.pluginManager.get('checkin');
const index = checkin.getIndex();
Extends ClientPlugin
Client-side representation of the check-in plugin.
The constructor should never be called manually. The plugin will be
automatically instantiated when registered in the pluginManager
.
Return the unique index given to the client
Returns number
Return the associated data given to the client (if any)
Returns any
Extends ServerPlugin
Server-side representation of the check-in plugin.
The constructor should never be called manually. The plugin will be
automatically instantiated when registered in the pluginManager
.
Available options:
capacity
{number} [Infinity] - Number of available indexesdata
{array} - optional data associated to a given index.
import ServerPluginCheckin from '@soundworks/plugin-checkin/server.js';
server.pluginManager.register('checkin', ServerPluginCheckin, {
capacity: 3,
data: [{ color: 'green' }, { color: 'yellow' }, { color: 'pink' }],
});