当前位置: 首页>>代码示例>>Golang>>正文


Golang StoreAdapter.List方法代码示例

本文整理汇总了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)
		}
	}
}
开发者ID:Zhann,项目名称:hm9000,代码行数:17,代码来源:dump.go

示例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,
			}))
		})
	})
开发者ID:Zhann,项目名称:hm9000,代码行数:29,代码来源:desired_state_test.go

示例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,
			}))
		})
	})
开发者ID:Zhann,项目名称:hm9000,代码行数:29,代码来源:actual_state_test.go

示例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)
				}
			})
		}
	}
})
开发者ID:Zhann,项目名称:hm9000,代码行数:31,代码来源:store_performance_test.go


注:本文中的github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter.List方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。