From c6c6cfb502604ade6d8f1ab8fe0f89deb7376740 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Fri, 12 Aug 2016 07:38:52 -0700 Subject: [PATCH] etcdserver: implement 'CutPeer', 'MendPeer' --- etcdserver/server.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/etcdserver/server.go b/etcdserver/server.go index 2954c7b3d..67d3043e6 100644 --- a/etcdserver/server.go +++ b/etcdserver/server.go @@ -1263,6 +1263,22 @@ func (s *EtcdServer) snapshot(snapi uint64, confState raftpb.ConfState) { }() } +// CutPeer drops messages to the specified peer. +func (s *EtcdServer) CutPeer(id types.ID) { + tr, ok := s.r.transport.(*rafthttp.Transport) + if ok { + tr.CutPeer(id) + } +} + +// MendPeer recovers the message dropping behavior of the given peer. +func (s *EtcdServer) MendPeer(id types.ID) { + tr, ok := s.r.transport.(*rafthttp.Transport) + if ok { + tr.MendPeer(id) + } +} + func (s *EtcdServer) PauseSending() { s.r.pauseSending() } func (s *EtcdServer) ResumeSending() { s.r.resumeSending() }