Vapid, a vacuous Redis implementation for connection tests, with a fully functional PubSub system for multiple clients.
npm install vapid



!NODE VERSION




!NPM YEARLY

> __Vapid__, a vacuous Redis implementation for connection tests, with a fully functional PubSub system for multiple clients.
> See __lib/commands__ dir to check for implemented commands.
``bash`
$ npm install vapid [-g]
> __install and update devDependencies__:
`bash`
$ cd vapid/
$ npm install
# update
$ npm update
> __require__:
`javascript`
var Vapid = require( 'vapid' );
`bash`
$ cd vapid/
$ npm test
> run benchmarks for __Vapid__ PubSub system with __Spade__ clients.
`bash`
$ cd vapid/
$ npm run bench
> __NOTE__:
> - in order to use __spade__ and __hiredis__ native parser, install _devDependencies_ .
----------------------------------------------------------------------------------------------
`javascript`
Vapid( [ Object opt ] )
// or
new Vapid( [ Object opt ] )
> Default options are listed.
`javascript`
{
secret : 'secret'
, maxdb : 16
}
> All properties from net.Server module are inherited : 'connections', 'maxConnections', ..
`javascript
/*
* A property that holds the initial config object.
*/
Vapid.options : Object
/*
* Hash of connected clients/sockets.
*/
Vapid.clients : Object
/*
* Command Queues for connected clients, every queue is an instance of Train.
*/
Vapid.cqueues : Object
/*
* Parsers for connected clients.
*/
Vapid.parsers : Object
/*
* An object containing implemented Redis commands.
*/
Vapid.commands : Object
/*
*
*/
Vapid.logger : Gerry
/*
* An object containing bindings between channels/patterns and clients subscribed to.
*/
Vapid.pubsub : Object
`
> Arguments within [ ] are optional.
> All methods from net.Server module are inherited : 'listen', 'address', ..
`javascript
/*
* Enable logging to console.
*/
Vapid#cli : function ( [ Boolean enable [, Function logger [, Boolean collect_events ] ] ] ) : undefined
/*
* Send data to all connected clients ( optionally you can specify a reduced list ).
*/
Vapid#send : function ( Buffer data | String data [, Array client_id_list ] ) : Number
/*
* Server voluntarily crashed after calling Vapid#crash. All socket connections
* will be destroyed and the server will be closed.
*/
Vapid#crash : function () : Number
/*
* Mute all or a list of sockets, server discards commands until mute will be switched off.
*/
Vapid#mute : function ( [ Boolean silent [, Array socket_names ] ] ) : Number
`
> All the events from net.Server module are inherited: 'listening', 'connection'. 'close', 'error', ..
> Vapid custom events:
`javascript
/*
* A client has disconnected
*/
'disconnection' : function ( String client_id )
/*
* Emitted when server crashes, it happens after the 'close' events.
* See also Vapid#crash.
*/
'crashed' : function ( Number trashed )
``
> Copyright (c) 2014-present < Guglielmo Ferri : 44gatti@gmail.com >
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
> 'Software'), to deal in the Software without restriction, including
> without limitation the rights to use, copy, modify, merge, publish,
> distribute, sublicense, and/or sell copies of the Software, and to
> permit persons to whom the Software is furnished to do so, subject to
> the following conditions:
> __The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.__
> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.