Rustを書いている話とmqtt

 今年こそはRustを身につけるかと思い、the rust programming languageを通読を終えた。

 ここ数年、Goや、typescriptを使うことでチームで開発する際の型のありがたみが身に沁みるように分かってきたので、その理解の延長線上としてRustの言語としてメモリ安全性を考慮した仕組みを取り入れてることに私の理解が追いついて来た感じはする。the rust programming languageの終盤で、TCP streamを扱いHTTPサーバを実装する内容のチュートリアルがあり、「mqttサーバも実装できるのでは?」と思い今年の年始にtokioを使ってるtcpからmqttを解釈するサーバアプリケーションの作成を始めた。mqtt仕様とニラメッコしながら、Rustのコンパイルエラーと格闘しながら、1ヶ月深夜にパソコンに向かう日々を過ごすとpaho libraryからコネクションを受けてパブリッシュとサブスクライブのパケットを受けれるようにまで成長した。

 フル機能を実装しようとするとこれは大変そうだ、というのを感じた。また、すでにmqttブローカーは広く普及したものかあるのでフル機能を実装することを目指すのではなく、これをベースにして尖った内容で遊びたいと思った。

 

作ったもの