52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
import Consumer from '../src/consumer'
|
|
import btc from 'better-try-catch'
|
|
|
|
// const client1= new Consumer({name:'example-consumer1' })
|
|
const client= new Consumer({path:true, name:'example-consumer', initTimeout:30 })
|
|
|
|
// This is your client handler object waiting on a message to do something
|
|
const process = async (packet) => {
|
|
console.log('packet being processed at socket')
|
|
if (packet.cmd) {
|
|
if (this[packet.cmd]) return await this[packet.cmd](packet)
|
|
else return {error: 'command has no processing function', packet: packet }
|
|
} return {error: 'no command in packet', packet: packet }
|
|
}
|
|
|
|
|
|
client.pushed = async (packet) => {
|
|
return new Promise(resolve => {
|
|
console.log('pushed packet/n',packet)
|
|
resolve()
|
|
})
|
|
}
|
|
|
|
client.registerPacketProcessor(process)
|
|
|
|
client.on('connection', event => {
|
|
console.log('============ connection update ============')
|
|
console.log(event.id)
|
|
console.log(event.msg)
|
|
console.log(`${event.ready ? 'Consumer is connected' : 'Consumer is disconnected'}`)
|
|
console.log('======================================')
|
|
})
|
|
|
|
;
|
|
(async () => {
|
|
console.log('ready at start',client.ready)
|
|
// await Promise.all([client1.connect(),client2.connect()])
|
|
let [err, res] = await btc(client.connect)()
|
|
if (err) {
|
|
console.log('error', err)
|
|
} else {
|
|
console.log('ready now?',client.ready)
|
|
console.log('connect reponse',res)
|
|
let packet = {name: 'client', cmd:'doit', data:'sent by client'}
|
|
console.log('sending packet ', packet)
|
|
console.log('=========\n',await client.send(packet))
|
|
}
|
|
|
|
})().catch(err => {
|
|
console.error('FATAL: UNABLE TO START SYSTEM!\n',err)
|
|
})
|