main :: IO ()
main = runCommand $ \MainOptions{..} args -> M.withMosquittoLibrary $ do
print M.version
m <- M.newMosquitto True "server" (Just ())
M.setTls m caCert userCert userKey
M.setTlsInsecure m True
-- callbacks
M.onMessage m print
M.onLog m $ const putStrLn
M.onConnect m print
M.onDisconnect m print
M.onSubscribe m $ curry print
M.connect m server port keepAlive
M.subscribe m 0 "rcv/#"
forkIO $ forever $ do
M.publish m False 0 "hello" "bla"
threadDelay 5000000
M.loopForever m
M.destroyMosquitto m
print "The end"
Documentation for used C library can be found at https://mosquitto.org/api/files/mosquitto-h.html.