api.go
func (r *Raft) Snapshot() SnapshotFuture {
	future := &userSnapshotFuture{}
	future.init()
	select {
	case r.userSnapshotCh <- future:
		return future
	case <-r.shutdownCh:
		future.respond(ErrRaftShutdown)
		return future
	}
}
func (r *Raft) Snapshot() SnapshotFuture {
	future := &userSnapshotFuture{}
	future.init()
	select {
	case r.userSnapshotCh <- future:
		return future
	case <-r.shutdownCh:
		future.respond(ErrRaftShutdown)
		return future
	}
}
func ( r * Raft ) Snapshot ( ) SnapshotFuture { future := & userSnapshotFuture { } future . init ( ) select { case r . userSnapshotCh <- future : return future case <- r . shutdownCh : future . respond ( ErrRaftShutdown ) return future } }
// Snapshot is used to manually force Raft to take a snapshot. Returns a future
// that can be used to block until complete, and that contains a function that
// can be used to open the snapshot.
Snapshot is used to manually force Raft to take a snapshot . Returns a future that can be used to block until complete and that contains a function that can be used to open the snapshot .