intiface / intiface-desktop

DEPRECATED - USE INTIFACE CENTRAL - Desktop GUI App for Intiface Service Usage
https://intiface.com/central
Other
56 stars 7 forks source link

Windows Server 2022: "Did not receive process ended message, process most likely crashed." #154

Closed space-nuko closed 2 years ago

space-nuko commented 2 years ago

I tried following the steps to set up Intiface, but as soon as it detects my device it crashes.

My Windows version as reported by winver is Windows Server 2022 21H2 (OS Build 20348.524).

Log:

{"logType":"backend","location":"ElectronIntifaceInitializer","message":"Bringing up Electron Intiface Backend.","level":"debug","timestamp":"2022-02-09T06:06:22.276Z"}
{"logType":"backend","location":"General","message":"Creating Backend Manager","level":"debug","timestamp":"2022-02-09T06:06:22.279Z"}
{"logType":"backend","location":"St","message":"Constructing Backend Manager","level":"debug","timestamp":"2022-02-09T06:06:22.284Z"}
{"logType":"backend","location":"St","message":"Online check: true","level":"debug","timestamp":"2022-02-09T06:06:22.315Z"}
{"logType":"backend","location":"St","message":"Received ready signal from frontend","level":"debug","timestamp":"2022-02-09T06:06:23.031Z"}
{"logType":"backend","location":"St","message":"Updating frontend configuration.","level":"debug","timestamp":"2022-02-09T06:06:23.031Z"}
{"logType":"frontend","location":"Ot","message":"Intiface desktop application frontend mounted","level":"info","timestamp":"2022-02-09T06:06:23.035Z"}
{"logType":"frontend","location":"Ot","message":"Loaded Configuration:","level":"info","timestamp":"2022-02-09T06:06:23.037Z"}
{"logType":"frontend","location":"Ot","message":{"_events":{},"_eventsCount":1,"serverName":"Intiface Server","serverMaxPingTime":0,"useWebsocketServerInsecure":true,"websocketServerAllInterfaces":false,"websocketServerInsecurePort":12345,"serverLogLevel":"Trace","usePrereleaseEngine":false,"currentEngineVersion":"v48","currentDeviceFileVersion":62,"checkForUpdatesOnStart":true,"hasRunSetup":true,"deviceFileUpdateAvailable":false,"engineUpdateAvailable":false,"applicationUpdateAvailable":false,"hasUsableEngineExecutable":true,"startServerOnStartup":false,"withBluetoothLE":true,"withSerialPort":false,"withHID":false,"withLovenseHIDDongle":false,"withLovenseSerialDongle":false,"withLovenseConnectService":false,"withXInput":false,"_isOnline":null},"level":"info","timestamp":"2022-02-09T06:06:23.037Z"}
{"logType":"backend","location":"St","message":"Checking for updates.","level":"info","timestamp":"2022-02-09T06:06:23.145Z"}
{"logType":"backend","location":"General","message":"Checking for update","level":"info","timestamp":"2022-02-09T06:06:23.145Z"}
{"logType":"backend","location":"General","message":"Update for version 27.0.0 is not available (latest version: 27.0.0, downgrade is disallowed).","level":"info","timestamp":"2022-02-09T06:06:23.747Z"}
{"logType":"backend","location":"St","message":"Has application update: false","level":"info","timestamp":"2022-02-09T06:06:23.747Z"}
{"logType":"backend","location":"_t","message":"Constructing Github Release Manager","level":"debug","timestamp":"2022-02-09T06:06:23.752Z"}
{"logType":"backend","location":"_t","message":"Checking for new engine version.","level":"debug","timestamp":"2022-02-09T06:06:23.752Z"}
{"logType":"backend","location":"_t","message":"Current Engine Version: v48","level":"debug","timestamp":"2022-02-09T06:06:23.945Z"}
{"logType":"backend","location":"_t","message":"Latest Engine Version: v48","level":"debug","timestamp":"2022-02-09T06:06:23.946Z"}
{"logType":"backend","location":"_t","message":"Checking for new device file version","level":"debug","timestamp":"2022-02-09T06:06:23.946Z"}
{"logType":"backend","location":"_t","message":"Current device file version: 62","level":"debug","timestamp":"2022-02-09T06:06:24.047Z"}
{"logType":"backend","location":"_t","message":"Latest device file version: 62","level":"debug","timestamp":"2022-02-09T06:06:24.047Z"}
{"logType":"backend","location":"St","message":"Has engine update: false","level":"info","timestamp":"2022-02-09T06:06:24.047Z"}
{"logType":"backend","location":"St","message":"Has device file update: false","level":"info","timestamp":"2022-02-09T06:06:24.047Z"}
{"logType":"backend","location":"St","message":"Updating frontend configuration.","level":"debug","timestamp":"2022-02-09T06:06:24.048Z"}
{"logType":"backend","location":"N","message":"Running C:\\Users\\A\\AppData\\Local\\IntifaceDesktop\\engine\\IntifaceCLI.exe --servername Intiface Server --deviceconfig C:\\Users\\A\\AppData\\Local\\IntifaceDesktop\\buttplug-device-config.json --frontendpipe --stayopen --wsinsecureport 12345 --log Trace --without-hid --without-lovense-dongle-hid --without-lovense-dongle-serial --without-serial --without-xinput","level":"info","timestamp":"2022-02-09T06:06:42.296Z"}
{"logType":"backend","location":"N","message":"Server process sent first message, continuing.","level":"debug","timestamp":"2022-02-09T06:06:42.411Z"}
{"logType":"process","location":"N","level":"info","message":"Intiface CLI Options: Websocket Insecure Port 12345","timestamp":"2022-02-09T06:06:42.413Z"}
{"logType":"process","location":"N","level":"info","message":"Intiface CLI Options: Using frontend pipe","timestamp":"2022-02-09T06:06:42.413Z"}
{"logType":"process","location":"N","level":"info","message":"Intiface CLI Options: Leave server open after disconnect.","timestamp":"2022-02-09T06:06:42.414Z"}
{"logType":"process","location":"N","level":"info","message":"Intiface CLI Options: External Device Config C:\\Users\\A\\AppData\\Local\\IntifaceDesktop\\buttplug-device-config.json","timestamp":"2022-02-09T06:06:42.414Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.410047Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Intiface CLI Setup finished, running server tasks until all joined.\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":299},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.415Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Creating server 'Intiface Server'","timestamp":"2022-02-09T06:06:42.425Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.423036Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"windows::current_platform is called\",\"log.target\":\"os_info::imp\",\"log.module_path\":\"os_info::imp\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\os_info-3.1.0\\\\src\\\\windows\\\\mod.rs\",\"log.line\":8},\"target\":\"os_info::imp\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.427Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Buttplug Server Operating System Info: Windows 10.0.20348 (Windows Server 2022 Standard) [64-bit]","timestamp":"2022-02-09T06:06:42.431Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.423095Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Returning Info { os_type: Windows, version: Semantic(10, 0, 20348), edition: Some(\\\"Windows Server 2022 Standard\\\"), codename: None, bitness: X64 }\",\"log.target\":\"os_info::imp\",\"log.module_path\":\"os_info::imp\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\os_info-3.1.0\\\\src\\\\windows\\\\mod.rs\",\"log.line\":10},\"target\":\"os_info::imp\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.433Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition realov","timestamp":"2022-02-09T06:06:42.433Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition xinput","timestamp":"2022-02-09T06:06:42.434Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition maxpro","timestamp":"2022-02-09T06:06:42.434Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition kiiroo-v2-vibrator","timestamp":"2022-02-09T06:06:42.435Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition sayberx","timestamp":"2022-02-09T06:06:42.435Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition libo-karen","timestamp":"2022-02-09T06:06:42.436Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition cachito","timestamp":"2022-02-09T06:06:42.436Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition svakom","timestamp":"2022-02-09T06:06:42.437Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition kiiroo-v21-initialized","timestamp":"2022-02-09T06:06:42.437Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition kiiroo-v1","timestamp":"2022-02-09T06:06:42.437Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition kiiroo-v2","timestamp":"2022-02-09T06:06:42.438Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition realtouch","timestamp":"2022-02-09T06:06:42.438Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition ankni","timestamp":"2022-02-09T06:06:42.438Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition svakom-alex","timestamp":"2022-02-09T06:06:42.438Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition libo-vibes","timestamp":"2022-02-09T06:06:42.439Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition wevibe-legacy","timestamp":"2022-02-09T06:06:42.439Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lovedistance","timestamp":"2022-02-09T06:06:42.439Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition svakom-sam","timestamp":"2022-02-09T06:06:42.440Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition satisfyer","timestamp":"2022-02-09T06:06:42.440Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition fredorch","timestamp":"2022-02-09T06:06:42.440Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition hgod","timestamp":"2022-02-09T06:06:42.440Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition cueme","timestamp":"2022-02-09T06:06:42.441Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition twerkingbutt","timestamp":"2022-02-09T06:06:42.441Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition vorze-cyclone-x","timestamp":"2022-02-09T06:06:42.441Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition aneros","timestamp":"2022-02-09T06:06:42.442Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition magic-motion-3","timestamp":"2022-02-09T06:06:42.442Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition vibratissimo","timestamp":"2022-02-09T06:06:42.442Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition jejoue","timestamp":"2022-02-09T06:06:42.443Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition mannuo","timestamp":"2022-02-09T06:06:42.443Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition magic-motion-2","timestamp":"2022-02-09T06:06:42.443Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition wevibe","timestamp":"2022-02-09T06:06:42.443Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition rez-trancevibrator","timestamp":"2022-02-09T06:06:42.443Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lelo-f1s","timestamp":"2022-02-09T06:06:42.444Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition picobong","timestamp":"2022-02-09T06:06:42.444Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lovense","timestamp":"2022-02-09T06:06:42.444Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition muse","timestamp":"2022-02-09T06:06:42.444Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lovenuts","timestamp":"2022-02-09T06:06:42.445Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition patoo","timestamp":"2022-02-09T06:06:42.445Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition htk_bm","timestamp":"2022-02-09T06:06:42.445Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition libo-elle","timestamp":"2022-02-09T06:06:42.445Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition kiiroo-v21","timestamp":"2022-02-09T06:06:42.445Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition nobra","timestamp":"2022-02-09T06:06:42.446Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition youcups","timestamp":"2022-02-09T06:06:42.446Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition zalo","timestamp":"2022-02-09T06:06:42.446Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition tcode-v03","timestamp":"2022-02-09T06:06:42.446Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition svakom-iker","timestamp":"2022-02-09T06:06:42.447Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition magic-motion-1","timestamp":"2022-02-09T06:06:42.447Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition libo-shark","timestamp":"2022-02-09T06:06:42.447Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition motorbunny","timestamp":"2022-02-09T06:06:42.447Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition youou","timestamp":"2022-02-09T06:06:42.447Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition mysteryvibe","timestamp":"2022-02-09T06:06:42.448Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lovehoney-desire","timestamp":"2022-02-09T06:06:42.448Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition vorze-sa","timestamp":"2022-02-09T06:06:42.449Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition wevibe-8bit","timestamp":"2022-02-09T06:06:42.449Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition thehandy","timestamp":"2022-02-09T06:06:42.451Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition mizzzee","timestamp":"2022-02-09T06:06:42.451Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition lovense-connect-service","timestamp":"2022-02-09T06:06:42.451Z"}
{"logType":"process","location":"N","level":"info","message":"Including Bluetooth LE (btleplug) Device Comm Manager Support","timestamp":"2022-02-09T06:06:42.452Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Added device comm manager BtlePlugCommunicationManager","timestamp":"2022-02-09T06:06:42.452Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.423947Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Starting new stay open loop\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":319},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.452Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.425985Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Spawning server event receiver\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":327},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.452Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.423956Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Creating new stay open connector\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":331},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.453Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.423961Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Starting server\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":340},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.453Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Websocket: Trying to listen on 127.0.0.1:12345","timestamp":"2022-02-09T06:06:42.453Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.425647Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"registering event source with poller: token=Token(0), interests=READABLE | WRITABLE\",\"log.target\":\"mio::poll\",\"log.module_path\":\"mio::poll\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\mio-0.7.14\\\\src\\\\poll.rs\",\"log.line\":478},\"target\":\"mio::poll\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.453Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Websocket: Socket bound.","timestamp":"2022-02-09T06:06:42.454Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Websocket: Listening on: 127.0.0.1:12345","timestamp":"2022-02-09T06:06:42.454Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Adding protocol definition prettylove","timestamp":"2022-02-09T06:06:42.454Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Bluetooth LE adapter found.","timestamp":"2022-02-09T06:06:42.454Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Windows Bluetooth Adapter ID: \"\\\\\\\\?\\\\USB#VID_0A12&PID_0001#6&1f3785f2&0&4#{92383b0e-f90e-4ac9-8d44-8c2d0d0ebda2}\"","timestamp":"2022-02-09T06:06:42.455Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Windows Bluetooth Adapter Manufacturer: Cambridge Silicon Radio (CSR)","timestamp":"2022-02-09T06:06:42.455Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758628Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"registering event source with poller: token=Token(1), interests=READABLE | WRITABLE\",\"log.target\":\"mio::poll\",\"log.module_path\":\"mio::poll\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\mio-0.7.14\\\\src\\\\poll.rs\",\"log.line\":478},\"target\":\"mio::poll\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.758Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Websocket: Got connection","timestamp":"2022-02-09T06:06:42.759Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758686Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Server handshake initiated.\",\"log.target\":\"tungstenite::handshake::server\",\"log.module_path\":\"tungstenite::handshake::server\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\server.rs\",\"log.line\":215},\"target\":\"tungstenite::handshake::server\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.759Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758698Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Doing handshake round.\",\"log.target\":\"tungstenite::handshake::machine\",\"log.module_path\":\"tungstenite::handshake::machine\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\machine.rs\",\"log.line\":40},\"target\":\"tungstenite::handshake::machine\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.759Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758710Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Doing handshake round.\",\"log.target\":\"tungstenite::handshake::machine\",\"log.module_path\":\"tungstenite::handshake::machine\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\machine.rs\",\"log.line\":40},\"target\":\"tungstenite::handshake::machine\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.760Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758856Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Doing handshake round.\",\"log.target\":\"tungstenite::handshake::machine\",\"log.module_path\":\"tungstenite::handshake::machine\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\machine.rs\",\"log.line\":40},\"target\":\"tungstenite::handshake::machine\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.760Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758954Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Doing handshake round.\",\"log.target\":\"tungstenite::handshake::machine\",\"log.module_path\":\"tungstenite::handshake::machine\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\machine.rs\",\"log.line\":40},\"target\":\"tungstenite::handshake::machine\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758978Z\",\"level\":\"DEBUG\",\"fields\":{\"message\":\"Server handshake done.\",\"log.target\":\"tungstenite::handshake::server\",\"log.module_path\":\"tungstenite::handshake::server\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\handshake\\\\server.rs\",\"log.line\":282},\"target\":\"tungstenite::handshake::server\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.758995Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"deregistering event source from poller\",\"log.target\":\"mio::poll\",\"log.module_path\":\"mio::poll\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\mio-0.7.14\\\\src\\\\poll.rs\",\"log.line\":609},\"target\":\"mio::poll\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.759093Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.761Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Starting websocket server connection event loop.","timestamp":"2022-02-09T06:06:42.762Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Starting remote server loop","timestamp":"2022-02-09T06:06:42.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767269Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.767Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767294Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Parsed headers [129, 224]\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":139},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.767Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767305Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"First: 10000001\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":143},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.768Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767311Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Second: 11100000\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":144},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.776Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767317Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Opcode: Data(Text)\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":153},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.776Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767323Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Masked: true\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":156},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.777Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767330Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"received frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 102\\npayload length: 96\\npayload: 0xd6284219e822152efe27332eff25539c43d624af691b69c4374271bc7f428e13a525f91d126e8715a69c43d1422eb3232ead17538e627f3bad1753de43056bdd32e2ee1714c69c0361338ec3451de8211322e23d4271bf2e1d16\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":164},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.778Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767364Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Received message [{\\\"RequestServerInfo\\\":{\\\"Id\\\":1,\\\"ClientName\\\":\\\"Intiface Desktop Device Panel\\\",\\\"MessageVersion\\\":2}}]\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":311},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.778Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767385Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.779Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Setting JSON Wrapper message version to Version2","timestamp":"2022-02-09T06:06:42.779Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Server handshake check successful.","timestamp":"2022-02-09T06:06:42.780Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Performing server handshake check with client Intiface Desktop Device Panel at message version Version2.","timestamp":"2022-02-09T06:06:42.780Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767952Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Rejecting all incoming clients while connected\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":207},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.781Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767942Z\",\"level\":\"INFO\",\"fields\":{\"message\":\"Client connected: Intiface Desktop Device Panel\",\"log.target\":\"intiface_cli\",\"log.module_path\":\"intiface_cli\",\"log.file\":\"src\\\\main.rs\",\"log.line\":142},\"target\":\"intiface_cli\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.781Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767942Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 1\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.782Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767926Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.782Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767937Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.782Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.768014Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.783Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767948Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 123, 34, 83, 101, 114, 118, 101, 114, 73, 110, 102, 111, 34, 58, 123, 34, 73, 100, 34, 58, 49, 44, 34, 77, 101, 115, 115, 97, 103, 101, 86, 101, 114, 115, 105, 111, 110, 34, 58, 50, 44, 34, 77, 97, 120, 80, 105, 110, 103, 84, 105, 109, 101, 34, 58, 48, 44, 34, 83, 101, 114, 118, 101, 114, 78, 97, 109, 101, 34, 58, 34, 73, 110, 116, 105, 102, 97, 99, 101, 32, 83, 101, 114, 118, 101, 114, 34, 125, 125, 93] }\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":604},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.783Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.767965Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"writing frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 93\\npayload length: 91\\npayload: 0x5b7b22536572766572496e666f223a7b224964223a312c224d65737361676556657273696f6e223a322c224d617850696e6754696d65223a302c225365727665724e616d65223a22496e74696661636520536572766572227d7d5d\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":173},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.783Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.768007Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.784Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776362Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.784Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776320Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Opcode: Data(Text)\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":153},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.784Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776283Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.785Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776326Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Masked: true\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":156},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.785Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776332Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"received frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 38\\npayload length: 32\\npayload: 0xa19253839f984b4899d35b48c8012b4b6802a5d8d3af3b38d53ebc894c8c\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":164},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.785Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776345Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Received message [{\\\"RequestDeviceList\\\":{\\\"Id\\\":2}}]\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":311},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.786Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776301Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Parsed headers [129, 160]\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":139},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.786Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776309Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"First: 10000001\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":143},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.786Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776314Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Second: 10100000\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":144},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.787Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776684Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"registering event source with poller: token=Token(16777216), interests=READABLE | WRITABLE\",\"log.target\":\"mio::poll\",\"log.module_path\":\"mio::poll\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\mio-0.7.14\\\\src\\\\poll.rs\",\"log.line\":478},\"target\":\"mio::poll\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.787Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776650Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.787Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776642Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.788Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776655Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 1\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.788Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776660Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 123, 34, 68, 101, 118, 105, 99, 101, 76, 105, 115, 116, 34, 58, 123, 34, 73, 100, 34, 58, 50, 44, 34, 68, 101, 118, 105, 99, 101, 115, 34, 58, 91, 93, 125, 125, 93] }\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":604},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.788Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776671Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"writing frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 40\\npayload length: 38\\npayload: 0x5b7b224465766963654c697374223a7b224964223a322c2244657669636573223a5b5d7d7d5d\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":173},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.789Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776717Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.789Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.776702Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.789Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783240Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.791Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783158Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.791Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783179Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Parsed headers [129, 156]\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":139},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.792Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783187Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"First: 10000001\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":143},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.792Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783193Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Second: 10011100\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":144},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.792Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783199Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Opcode: Data(Text)\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":153},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.793Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783205Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Masked: true\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":156},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.793Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783211Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"received frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 34\\npayload length: 28\\npayload: 0x159ee2303a84b2171d86a1d208cae46cdfbb41781e2597d98bd3e\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":164},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.793Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783226Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Received message [{\\\"StartScanning\\\":{\\\"Id\\\":3}}]\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":311},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.794Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Scanning Status (Only shown on first scan)","timestamp":"2022-02-09T06:06:42.795Z"}
{"logType":"buttplug","location":"N","level":"info","message":"BtlePlugCommunicationManager: true","timestamp":"2022-02-09T06:06:42.795Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783565Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.795Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"All managers started, sending ScanningStarted (and invoking ScanningFinished hack) signal to event loop.","timestamp":"2022-02-09T06:06:42.796Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"At least one manager still scanning, continuing event loop.","timestamp":"2022-02-09T06:06:42.796Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783497Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.796Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783506Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.797Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783511Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 1\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.797Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783516Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Data(Text), mask: None }, payload: [91, 123, 34, 79, 107, 34, 58, 123, 34, 73, 100, 34, 58, 51, 125, 125, 93] }\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":604},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.797Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783525Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"writing frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: TEXT\\nlength: 19\\npayload length: 17\\npayload: 0x5b7b224f6b223a7b224964223a337d7d5d\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":173},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.798Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:42.783559Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:42.798Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"System signaled that scanning was finished, check to see if all managers are finished.","timestamp":"2022-02-09T06:06:42.798Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Device could not be matched to a protocol.","timestamp":"2022-02-09T06:06:43.202Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Found new bluetooth device advertisement: PeripheralInfo { name: Some(\"Eve\"), peripheral_id: PeripheralId(D2:34:56:9A:AC:97), services: [] }","timestamp":"2022-02-09T06:06:43.203Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Device PeripheralId(D2:34:56:9A:AC:97) has no user configuration entry.","timestamp":"2022-02-09T06:06:43.204Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Looking for protocol that matches specifier: BluetoothLE(BluetoothLESpecifier { names: {\"Eve\"}, advertised_services: {}, services: {} })","timestamp":"2022-02-09T06:06:43.204Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"No protocol found for specifier BluetoothLE(BluetoothLESpecifier { names: {\"Eve\"}, advertised_services: {}, services: {} }).","timestamp":"2022-02-09T06:06:43.205Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Found new bluetooth device advertisement: PeripheralInfo { name: Some(\"Eve Energy 390D\"), peripheral_id: PeripheralId(D2:34:56:9A:AC:97), services: [] }","timestamp":"2022-02-09T06:06:43.211Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Device PeripheralId(D2:34:56:9A:AC:97) has no user configuration entry.","timestamp":"2022-02-09T06:06:43.212Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Device could not be matched to a protocol.","timestamp":"2022-02-09T06:06:43.212Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Looking for protocol that matches specifier: BluetoothLE(BluetoothLESpecifier { names: {\"Eve Energy 390D\"}, advertised_services: {}, services: {} })","timestamp":"2022-02-09T06:06:43.212Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"No protocol found for specifier BluetoothLE(BluetoothLESpecifier { names: {\"Eve Energy 390D\"}, advertised_services: {}, services: {} }).","timestamp":"2022-02-09T06:06:43.212Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Device could not be matched to a protocol.","timestamp":"2022-02-09T06:06:43.673Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Found new bluetooth device advertisement: PeripheralInfo { name: Some(\"Eve\"), peripheral_id: PeripheralId(E5:10:A2:ED:EB:78), services: [] }","timestamp":"2022-02-09T06:06:43.674Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Device PeripheralId(E5:10:A2:ED:EB:78) has no user configuration entry.","timestamp":"2022-02-09T06:06:43.674Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Looking for protocol that matches specifier: BluetoothLE(BluetoothLESpecifier { names: {\"Eve\"}, advertised_services: {}, services: {} })","timestamp":"2022-02-09T06:06:43.674Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"No protocol found for specifier BluetoothLE(BluetoothLESpecifier { names: {\"Eve\"}, advertised_services: {}, services: {} }).","timestamp":"2022-02-09T06:06:43.675Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759772Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.759Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759794Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 1\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.760Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759801Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Control(Ping), mask: None }, payload: [0] }\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":604},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.760Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759873Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759814Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"writing frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: PING\\nlength: 3\\npayload length: 1\\npayload: 0x0\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":173},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759861Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759963Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"First: 10001010\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":143},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759942Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759955Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Parsed headers [138, 129]\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":139},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759975Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Opcode: Control(Pong)\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":153},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759969Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Second: 10000001\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":144},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759980Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Masked: true\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":156},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759987Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"received frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: PONG\\nlength: 7\\npayload length: 1\\npayload: 0x55\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":164},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.759995Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Received message \\u0000\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":311},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.764Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:43.760003Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:43.764Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Device could not be matched to a protocol.","timestamp":"2022-02-09T06:06:43.904Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Found new bluetooth device advertisement: PeripheralInfo { name: None, peripheral_id: PeripheralId(34:94:54:1A:B6:3E), services: [1775244d-6b43-439b-877c-060f2d9bed07] }","timestamp":"2022-02-09T06:06:43.905Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Device PeripheralId(34:94:54:1A:B6:3E) has no user configuration entry.","timestamp":"2022-02-09T06:06:43.906Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Looking for protocol that matches specifier: BluetoothLE(BluetoothLESpecifier { names: {\"\"}, advertised_services: {1775244d-6b43-439b-877c-060f2d9bed07}, services: {} })","timestamp":"2022-02-09T06:06:43.907Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"No protocol found for specifier BluetoothLE(BluetoothLESpecifier { names: {\"\"}, advertised_services: {1775244d-6b43-439b-877c-060f2d9bed07}, services: {} }).","timestamp":"2022-02-09T06:06:43.907Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Found new bluetooth device advertisement: PeripheralInfo { name: Some(\"The Handy\"), peripheral_id: PeripheralId(34:94:54:1A:B6:3E), services: [1775244d-6b43-439b-877c-060f2d9bed07] }","timestamp":"2022-02-09T06:06:44.737Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Device PeripheralId(34:94:54:1A:B6:3E) has no user configuration entry.","timestamp":"2022-02-09T06:06:44.737Z"}
{"logType":"buttplug","location":"N","level":"debug","message":"Looking for protocol that matches specifier: BluetoothLE(BluetoothLESpecifier { names: {\"The Handy\"}, advertised_services: {1775244d-6b43-439b-877c-060f2d9bed07}, services: {} })","timestamp":"2022-02-09T06:06:44.738Z"}
{"logType":"buttplug","location":"N","level":"info","message":"Found protocol \"thehandy\" for specifier BluetoothLE(BluetoothLESpecifier { names: {\"The Handy\"}, advertised_services: {1775244d-6b43-439b-877c-060f2d9bed07}, services: {} }).","timestamp":"2022-02-09T06:06:44.738Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760666Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.761Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760685Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760691Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 1\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760696Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Sending frame: Frame { header: FrameHeader { is_final: true, rsv1: false, rsv2: false, rsv3: false, opcode: Control(Ping), mask: None }, payload: [0] }\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":604},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.762Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760707Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"writing frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: PING\\nlength: 3\\npayload length: 1\\npayload: 0x0\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":173},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760757Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760771Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.763Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760864Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.764Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760877Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Parsed headers [138, 129]\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":139},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.764Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760884Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"First: 10001010\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":143},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.764Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760896Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Opcode: Control(Pong)\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":153},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.765Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760890Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Second: 10000001\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":144},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.765Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760902Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Masked: true\",\"log.target\":\"tungstenite::protocol::frame::frame\",\"log.module_path\":\"tungstenite::protocol::frame::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\frame.rs\",\"log.line\":156},\"target\":\"tungstenite::protocol::frame::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.765Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760907Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"received frame \\n\\nfinal: true\\nreserved: false false false\\nopcode: PONG\\nlength: 7\\npayload length: 1\\npayload: 0xce\\n            \",\"log.target\":\"tungstenite::protocol::frame\",\"log.module_path\":\"tungstenite::protocol::frame\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\frame\\\\mod.rs\",\"log.line\":164},\"target\":\"tungstenite::protocol::frame\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.765Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760923Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Frames still in queue: 0\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":381},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.766Z"}
{"logType":"process","location":"N","message":"Process Log: {\"timestamp\":\"2022-02-09T06:06:44.760916Z\",\"level\":\"TRACE\",\"fields\":{\"message\":\"Received message \\u0000\",\"log.target\":\"tungstenite::protocol\",\"log.module_path\":\"tungstenite::protocol\",\"log.file\":\"C:\\\\Users\\\\runneradmin\\\\.cargo\\\\registry\\\\src\\\\github.com-1ecc6299db9ec823\\\\tungstenite-0.16.0\\\\src\\\\protocol\\\\mod.rs\",\"log.line\":311},\"target\":\"tungstenite::protocol\"}\n","level":"info","timestamp":"2022-02-09T06:06:44.766Z"}
{"logType":"backend","location":"N","message":"Server process exited.","level":"debug","timestamp":"2022-02-09T06:06:45.632Z"}
{"logType":"backend","location":"St","message":"Did not receive process ended message, process most likely crashed.","level":"error","timestamp":"2022-02-09T06:06:45.632Z"}
space-nuko commented 2 years ago

I made it work, but I had to make some hacks in some of the Intiface components.

  1. Use git versions for the buttplug and btleplug crates in the intiface-cli-rs.
  2. For some reason, btleplug enumerates my device (handy) twice, once with a blank name, and the other with the name The Handy. Both have the same device ID. It tries to connect to the first so it can't find the protocol. I instead made it ignore the device if the name is blank.
  3. In discover_services in btleplug, I changed BluetoothCacheMode::Cached to BluetoothCacheMode::Uncached. Otherwise the call to GetGattServicesWithCacheModeAsync from there hangs indefinitely.

After that it shows up in Intiface Desktop at least. The maximum stroke length/speed seems incorrect though, they're way too short/slow for the actual length/speed of the device in manual mode.

space-nuko commented 2 years ago

I found out what the maximum stroke issue was BTW. It turns out if you leave the device at the very bottom of the stroke when connecting it to Intiface, it limits the "actual" maximum stroke length for the whole session. Not sure if there's an option to reset the device so the stroke returns to the top before usage.

qdot commented 2 years ago

This is mostly about btleplug, has nothing to do with intiface desktop. Best bet is to watch the btleplug repo, as we've got multiple open windows bugs in flight there.

As for The Handy, I know there's some sort of on-device setting for max stroke length that you might want to check out, as I think that may have something to do with this. Best way to do that is their discord server.