本文整理汇总了Golang中github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter.List方法的典型用法代码示例。如果您正苦于以下问题:Golang StoreAdapter.List方法的具体用法?Golang StoreAdapter.List怎么用?Golang StoreAdapter.List使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter
的用法示例。
在下文中一共展示了StoreAdapter.List方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Walk
func Walk(store storeadapter.StoreAdapter, dirKey string, callback func(storeadapter.StoreNode)) {
nodes, err := store.List(dirKey)
if err != nil {
return
}
for _, node := range nodes {
if node.Key == "/_etcd" {
continue
}
if node.Dir {
Walk(store, node.Key, callback)
} else {
callback(node)
}
}
}
示例2:
AfterEach(func() {
etcdAdapter.Disconnect()
})
Describe("Saving desired state ", func() {
BeforeEach(func() {
err := store.SaveDesiredState([]models.DesiredAppState{
app1.DesiredState(0),
app2.DesiredState(0),
})
Ω(err).ShouldNot(HaveOccured())
})
It("can stores the passed in desired state", func() {
nodes, err := etcdAdapter.List("/desired")
Ω(err).ShouldNot(HaveOccured())
Ω(nodes).Should(HaveLen(2))
Ω(nodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/desired/" + app1.AppGuid + "-" + app1.AppVersion,
Value: app1.DesiredState(0).ToJson(),
TTL: conf.DesiredStateTTL - 1,
}))
Ω(nodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/desired/" + app2.AppGuid + "-" + app2.AppVersion,
Value: app2.DesiredState(0).ToJson(),
TTL: conf.DesiredStateTTL - 1,
}))
})
})
示例3:
AfterEach(func() {
etcdAdapter.Disconnect()
})
Describe("Saving actual state ", func() {
BeforeEach(func() {
err := store.SaveActualState([]models.InstanceHeartbeat{
heartbeat1,
heartbeat2,
})
Ω(err).ShouldNot(HaveOccured())
})
It("can stores the passed in actual state", func() {
nodes, err := etcdAdapter.List("/actual")
Ω(err).ShouldNot(HaveOccured())
Ω(nodes).Should(HaveLen(2))
Ω(nodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/actual/" + heartbeat1.InstanceGuid,
Value: heartbeat1.ToJson(),
TTL: conf.HeartbeatTTL - 1,
}))
Ω(nodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/actual/" + heartbeat2.InstanceGuid,
Value: heartbeat2.ToJson(),
TTL: conf.HeartbeatTTL - 1,
}))
})
})
示例4:
data[i] = storeadapter.StoreNode{
Key: "/actual/" + instanceHeartbeat.InstanceGuid,
Value: instanceHeartbeat.ToJson(),
TTL: 0,
}
}
writeTime := b.Time("writing to the store", func() {
err := storeAdapter.Set(data)
Ω(err).ShouldNot(HaveOccured())
}, StorePerformanceReport{StoreType: storeType, NumStoreNodes: nodes, NumApps: numApps, Subject: "write performance"})
Ω(writeTime.Seconds()).Should(BeNumerically("<=", 30))
readTime := b.Time("reading from the store", func() {
values, err := storeAdapter.List("/actual")
Ω(err).ShouldNot(HaveOccured())
Ω(len(values)).Should(Equal(numApps), "Didn't find the correct number of entries in the store")
}, StorePerformanceReport{StoreType: storeType, NumStoreNodes: nodes, NumApps: numApps, Subject: "read performance"})
Ω(readTime.Seconds()).Should(BeNumerically("<=", 3))
usage, err := storeRunner.DiskUsage()
Ω(err).ShouldNot(HaveOccured())
b.RecordValue("disk usage in MB", float64(usage)/1024.0/1024.0, StorePerformanceReport{StoreType: storeType, NumStoreNodes: nodes, NumApps: numApps, Subject: "disk usage"})
}, 5)
}
})
}
}
})