Skip to content

soundworks | plugin checkin ​

npm version

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.

Table of Contents ​

Installation ​

sh
npm install @soundworks/plugin-checkin --save

Usage ​

Server ​

js
import { Server } from '@soundworks/core/server.js';
import ServerPluginCheckin from '@soundworks/plugin-checkin/server.js';

const server = new Server();
server.pluginManager.register('checkin', ServerPluginCheckin);

Client ​

js
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();

API ​

Table of Contents ​

ClientPluginCheckin ​

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.

getIndex ​

Return the unique index given to the client

Returns number

getData ​

Return the associated data given to the client (if any)

Returns any

ServerPluginCheckin ​

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 indexes
  • data {array} - optional data associated to a given index.

Examples ​

javascript
import ServerPluginCheckin from '@soundworks/plugin-checkin/server.js';

server.pluginManager.register('checkin', ServerPluginCheckin, {
  capacity: 3,
  data: [{ color: 'green' }, { color: 'yellow' }, { color: 'pink' }],
});

Credits ​

https://soundworks.dev/credits.html

License ​

BSD-3-Clause