2019-10-01から1ヶ月間の記事一覧

Goでpanic(string) すると recover()で取り出せるのがstringになる

panic()が返すのは空interfaceなので、panic(string)したらrecover()で取り出せるのはstringになる。 ググってみても、panic(string)してる例は結構たくさんあった。 package main import ( "fmt" "reflect" ) func main() { f() } func f() { defer func() …

GoのChannelをコピーしてコピー元のChannelをクローズするとコピー先のChannelもcloseされる

Goのプログラムを書いてたらはまってたのでメモしておく。 package main func main() { ch1 := make(chan struct{}) ch2 := ch1 close(ch1) close(ch2) } Result panic: close of closed channel goroutine 1 [running]: main.main() /tmp/sandbox237471277/…

proxygen の QUICのサンプルを試してみた。

facebookのHTTP Library proxygen がQUICとHTTP/3に対応しているらしいので動かしてみました。 github.com Note that currently this project has been tested on Ubuntu 18.04 and Mac OSX although it likely works on many other platforms. ubuntu16.04 …

Bolina: a new end-to-end protocol specially designed for wireless communication

下の記事で、BoliaというUDPベースのプロトコルとQUIC、TCPの比較が行われていました。 blog.codavel.com Boliaでは、QUIC(やTCPなど)で用いているのACKの仕組みをnetwork codingで代替しているようです。 無線などを使ったときに発生するランダムなロスが…