code: func (s *Store) disconnect(c *Connection) error {
  	d := &connectionSub{
  		ConnID: c.ID,
  	}
  	cmd, err := newCommand(disconnect, d)
  	if err != nil {
  		return err
  	}
  	b, err := json.Marshal(cmd)
  	if err != nil {
  		return err
  	}
  
  	f := s.raft.Apply(b, s.ApplyTimeout)
  	if e := f.(raft.Future); e.Error() != nil {
  		if e.Error() == raft.ErrNotLeader {
  			return ErrNotLeader
  		}
  		return e.Error()
  	}
  	stats.Add(numDisconnects, 1)
  	return f.Response().(*fsmGenericResponse).error
  }
docs: // disconnect removes a connection to the database, a connection
  // which was previously established via Raft consensus.