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 --saveimport { 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' }],
});