func (adapter *ETCDStoreAdapter) MaintainNode(storeNode storeadapter.StoreNode) (<-chan bool, chan (chan bool), error) { if storeNode.TTL == 0 { return nil, nil, storeadapter.ErrorInvalidTTL } if len(storeNode.Value) == 0 { guid, err := uuid.NewV4() if err != nil { return nil, nil, err } storeNode.Value = []byte(guid.String()) } releaseNode := make(chan chan bool) nodeStatus := make(chan bool) go adapter.maintainNode(storeNode, nodeStatus, releaseNode) return nodeStatus, releaseNode, nil }
}) }) }) } } Context("LegacyFinder", func() { BeforeEach(func() { finder = dopplerservice.NewLegacyFinder(storeAdapter, 1234, preferredCallback, updateCallback, loggertesthelper.Logger()) node = storeadapter.StoreNode{ Key: dopplerservice.LEGACY_ROOT + "/z1/loggregator_z1/0", Value: []byte("10.0.0.1"), } updateNode = node updateNode.Value = []byte("10.0.0.2") }) Context("Basics", testFinder(map[string]string{"/z1/loggregator_z1/0": "udp://10.0.0.1:1234"})) Context("Update", testUpdateFinder(map[string]string{"/z1/loggregator_z1/0": "udp://10.0.0.2:1234"})) }) Context("Finder", func() { var preferredProtocol string BeforeEach(func() { preferredProtocol = "udp" }) JustBeforeEach(func() { var err error