mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
feature(main): add Etcd.Close() method
This commit is contained in:
parent
094cc6347d
commit
c463293d39
26
etcd/etcd.go
26
etcd/etcd.go
@ -17,6 +17,7 @@ limitations under the License.
|
||||
package etcd
|
||||
|
||||
import (
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@ -36,11 +37,13 @@ import (
|
||||
)
|
||||
|
||||
type Etcd struct {
|
||||
Config *config.Config // etcd config
|
||||
Store store.Store // data store
|
||||
Registry *server.Registry // stores URL information for nodes
|
||||
Server *server.Server // http server, runs on 4001 by default
|
||||
PeerServer *server.PeerServer // peer server, runs on 7001 by default
|
||||
Config *config.Config // etcd config
|
||||
Store store.Store // data store
|
||||
Registry *server.Registry // stores URL information for nodes
|
||||
Server *server.Server // http server, runs on 4001 by default
|
||||
PeerServer *server.PeerServer // peer server, runs on 7001 by default
|
||||
listener net.Listener // Listener for Server
|
||||
peerListener net.Listener // Listener for PeerServer
|
||||
}
|
||||
|
||||
// New returns a new Etcd instance.
|
||||
@ -179,14 +182,19 @@ func (e *Etcd) Run() {
|
||||
// the cluster could be out of work as long as the two nodes cannot transfer messages.
|
||||
e.PeerServer.Start(e.Config.Snapshot, e.Config.Discovery, e.Config.Peers)
|
||||
log.Infof("peer server [name %s, listen on %s, advertised url %s]", e.PeerServer.Config.Name, e.Config.Peer.BindAddr, e.PeerServer.Config.URL)
|
||||
l := server.NewListener(psConfig.Scheme, e.Config.Peer.BindAddr, e.Config.PeerTLSInfo())
|
||||
e.peerListener = server.NewListener(psConfig.Scheme, e.Config.Peer.BindAddr, e.Config.PeerTLSInfo())
|
||||
|
||||
sHTTP := &ehttp.CORSHandler{e.PeerServer.HTTPHandler(), corsInfo}
|
||||
log.Fatal(http.Serve(l, sHTTP))
|
||||
log.Fatal(http.Serve(e.peerListener, sHTTP))
|
||||
}()
|
||||
|
||||
log.Infof("etcd server [name %s, listen on %s, advertised url %s]", e.Server.Name, e.Config.BindAddr, e.Server.URL())
|
||||
l := server.NewListener(e.Config.EtcdTLSInfo().Scheme(), e.Config.BindAddr, e.Config.EtcdTLSInfo())
|
||||
e.listener = server.NewListener(e.Config.EtcdTLSInfo().Scheme(), e.Config.BindAddr, e.Config.EtcdTLSInfo())
|
||||
sHTTP := &ehttp.CORSHandler{e.Server.HTTPHandler(), corsInfo}
|
||||
log.Fatal(http.Serve(l, sHTTP))
|
||||
log.Fatal(http.Serve(e.listener, sHTTP))
|
||||
}
|
||||
|
||||
func (e *Etcd) Close() {
|
||||
e.listener.Close()
|
||||
e.peerListener.Close()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user