Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var recvDataQueue = []
- var recvCallbacksQueue = []
- var socket = new WebSocket("ws://127.0.0.1:8178/socket/" + path)
- socket.binaryType = 'arraybuffer'
- //var evt = Event('usbread');
- socket.onmessage = function(event) {
- var data = new Uint8Array(event.data)
- console.debug("READ: ", data)
- if(recvCallbacksQueue !== 0) {
- recvCallbacksQueue.shift().resolve(data)
- return
- }
- recvDataQueue.push(data)
- }
- socket.onopen = async function (event) {
- await wasm.unlock(api, query)
- await wasm.pair(api, query)
- }
- function on_write(bytes) {
- console.debug("WRITE: ", bytes)
- if (socket.readyState == WebSocket.OPEN){
- socket.send(bytes)
- } else {
- console.log("SOCKET NOT OPEN YET!!")
- }
- }
- function on_read() {
- if(recvDataQueue.length !== 0) {
- return Promise.resolve(recvDataQueue.shift())
- }
- return new Promise((resolve, reject) => {
- recvCallbacksQueue.push({resolve, reject})
- })
- }
- function query(bytes) {
- on_write(bytes)
- return on_read()
- }
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement