2014-03-01から1ヶ月間の記事一覧

LevelDBがどのようにレコードにデータを保存しているか

だいたいこのような感じだとおもう. package main import ( "encoding/binary" "fmt" ) const kBatchHdrLen = 8 + 4 // LevelDBはbatch単位で書き込む.(マルチスレッド対応のため? type Batch struct { buf []byte } func (b *Batch) grow(n int) { off := …

std::comm::Chanを利用した簡易メッセージキューサーバもどき

chanをcloneすることで複数クライアントからの入力を共通のPortで待ち受けることができる. use std::io::BufferedStream; use std::io::net::ip::{Ipv4Addr, SocketAddr}; use std::io::net::tcp::{TcpStream, TcpListener}; use std::io::{Acceptor, Listen…