コード例 #1
0
ファイル: clients.go プロジェクト: ironzhang/golang
func NewClients(network string, dial ClientDialer, maxcache int) *Clients {
	if dial == nil {
		dial = rpc.Dial
	}
	return &Clients{
		network: network,
		dial:    dial,
		cache:   lru.New(maxcache, nil),
	}
}
コード例 #2
0
ファイル: lru_test.go プロジェクト: ironzhang/golang
func TestGet(t *testing.T) {
	lru := lru.New(0, nil)
	for _, tt := range getTests {
		lru.Add(tt.keyToAdd, 1234)
		val, ok := lru.Get(tt.keyToGet)
		if ok != tt.expectedOk {
			t.Fatalf("%s: cache hit = %v; want %v", tt.name, ok, !ok)
		} else if ok && val != 1234 {
			t.Fatalf("%s expected get to return 1234 but got %v", tt.name, val)
		}
	}
}
コード例 #3
0
ファイル: lru_test.go プロジェクト: ironzhang/golang
func TestReomve(t *testing.T) {
	lru := lru.New(0, nil)
	lru.Add("myKey", 1234)
	if val, ok := lru.Get("myKey"); !ok {
		t.Fatal("TestRemove returned no match")
	} else if val != 1234 {
		t.Fatal("TestRemove falied. Expected 1234, got %v", val)
	}

	lru.Remove("myKey")
	if _, ok := lru.Get("myKey"); ok {
		t.Fatal("TestRemove returned a removed entry")
	}
}