Browse Source

set messager as send only

Fabrizio (Misto) Milo 12 years ago
parent
commit
ab10f95911
2 changed files with 7 additions and 11 deletions
  1. 1 1
      etcd.go
  2. 6 10
      store/store.go

+ 1 - 1
etcd.go

@@ -216,7 +216,7 @@ func main() {
 
 
 	if argInfo.WebPort != -1 {
 	if argInfo.WebPort != -1 {
 		// start web
 		// start web
-		etcdStore.SetMessager(&storeMsg)
+		etcdStore.SetMessager(storeMsg)
 		go webHelper()
 		go webHelper()
 		go web.Start(raftServer, argInfo.WebPort)
 		go web.Start(raftServer, argInfo.WebPort)
 	}
 	}

+ 6 - 10
store/store.go

@@ -35,7 +35,7 @@ type Store struct {
 
 
 	// The string channel to send messages to the outside world
 	// The string channel to send messages to the outside world
 	// Now we use it to send changes to the hub of the web service
 	// Now we use it to send changes to the hub of the web service
-	messager *chan string
+	messager chan<- string
 
 
 	// A map to keep the recent response to the clients
 	// A map to keep the recent response to the clients
 	ResponseMap map[string]*Response
 	ResponseMap map[string]*Response
@@ -141,7 +141,7 @@ func CreateStore(max int) *Store {
 }
 }
 
 
 // Set the messager of the store
 // Set the messager of the store
-func (s *Store) SetMessager(messager *chan string) {
+func (s *Store) SetMessager(messager chan<- string) {
 	s.messager = messager
 	s.messager = messager
 }
 }
 
 
@@ -224,8 +224,7 @@ func (s *Store) internalSet(key string, value string, expireTime time.Time, inde
 
 
 		// Send to the messager
 		// Send to the messager
 		if s.messager != nil && err == nil {
 		if s.messager != nil && err == nil {
-
-			*s.messager <- string(msg)
+			s.messager <- string(msg)
 		}
 		}
 
 
 		s.addToResponseMap(index, &resp)
 		s.addToResponseMap(index, &resp)
@@ -257,8 +256,7 @@ func (s *Store) internalSet(key string, value string, expireTime time.Time, inde
 
 
 		// Send to the messager
 		// Send to the messager
 		if s.messager != nil && err == nil {
 		if s.messager != nil && err == nil {
-
-			*s.messager <- string(msg)
+			s.messager <- string(msg)
 		}
 		}
 
 
 		s.addToResponseMap(index, &resp)
 		s.addToResponseMap(index, &resp)
@@ -440,8 +438,7 @@ func (s *Store) internalDelete(key string, index uint64) ([]byte, error) {
 
 
 		// notify the messager
 		// notify the messager
 		if s.messager != nil && err == nil {
 		if s.messager != nil && err == nil {
-
-			*s.messager <- string(msg)
+			s.messager <- string(msg)
 		}
 		}
 
 
 		s.addToResponseMap(index, &resp)
 		s.addToResponseMap(index, &resp)
@@ -526,8 +523,7 @@ func (s *Store) monitorExpiration(key string, update chan time.Time, expireTime
 
 
 				// notify the messager
 				// notify the messager
 				if s.messager != nil && err == nil {
 				if s.messager != nil && err == nil {
-
-					*s.messager <- string(msg)
+					s.messager <- string(msg)
 				}
 				}
 
 
 				return
 				return