0103
昨夜は朝5時くらいまで起きていた。TCPを実装したけどどうもうまく動かんなというところで寝た。
今日もずっとRust書いてた。TCPを直したらどうにか動くようになった。チェックサムを計算するところでunsafeな処理をしていたらそこの不具合でたまに計算がずれていた。デバッグログを仕込んだときだけずれるのは、unsafeっぽいな〜と思った。やれやれ。
とりあえずHTTPをしゃべれるようになってこのblogにGETリクエストを投げたりした。まあこのblogはTLSしか対応してないので平文HTTPで来られても304を返すだけだけど。とりあえず目標達成という感じ。TCP、たぶん性能を上げようと思ったらもっといろいろ実装することになるのだと思うけど、シンプルには要するに毎回ACKを待ちながら順番に送るということらしく、思ったほど難しくはないなと思った。ハンドシェイクとかはちょっとだるいけど。
次の目標は何だろうな、Cコンパイラかしら。もう開発環境がarmになってしまったから、x86_64向けの資料は参考にできないのかな、それともネイティヴ実行を諦めればいいのかしら。フムン。そういえば、Rustで自作OSを作ってそれでWebサーバーを動かしてる人がいて、格好いいなあと思ったのだった。OS作るのもね、そのうちやりたいよね。
明日からはまた仕事。すべてを思い出すのに時間がかかりそうだけど。