wal/wal.go
func Open(lg *zap.Logger, dirpath string, snap walpb.Snapshot) (*WAL, error) {
	w, err := openAtIndex(lg, dirpath, snap, true)
	if err != nil {
		return nil, err
	}
	if w.dirFile, err = fileutil.OpenDir(w.dir); err != nil {
		return nil, err
	}
	return w, nil
}
func Open(lg *zap.Logger, dirpath string, snap walpb.Snapshot) (*WAL, error) {
	w, err := openAtIndex(lg, dirpath, snap, true)
	if err != nil {
		return nil, err
	}
	if w.dirFile, err = fileutil.OpenDir(w.dir); err != nil {
		return nil, err
	}
	return w, nil
}
func Open ( lg * zap . Logger , dirpath string , snap walpb . Snapshot ) ( * WAL , error ) { w , err := openAtIndex ( lg , dirpath , snap , true ) if err != nil { return nil , err } if w . dirFile , err = fileutil . OpenDir ( w . dir ) ; err != nil { return nil , err } return w , nil }
// Open opens the WAL at the given snap.
// The snap SHOULD have been previously saved to the WAL, or the following
// ReadAll will fail.
// The returned WAL is ready to read and the first record will be the one after
// the given snap. The WAL cannot be appended to before reading out all of its
// previous records.
Open opens the WAL at the given snap . The snap SHOULD have been previously saved to the WAL or the following ReadAll will fail . The returned WAL is ready to read and the first record will be the one after the given snap . The WAL cannot be appended to before reading out all of its previous records .