Browse Source

wal: add newWal helper func

Xiang Li 11 years ago
parent
commit
9f5c7b310c
1 changed files with 6 additions and 7 deletions
  1. 6 7
      wal/wal.go

+ 6 - 7
wal/wal.go

@@ -24,20 +24,21 @@ type WAL struct {
 	buf *bytes.Buffer
 }
 
+func newWAL(f *os.File) *WAL {
+	return &WAL{f, bufio.NewWriter(f), new(bytes.Buffer)}
+}
+
 func New(path string) (*WAL, error) {
 	f, err := os.Open(path)
 	if err == nil {
 		f.Close()
 		return nil, os.ErrExist
 	}
-
 	f, err = os.Create(path)
 	if err != nil {
 		return nil, err
 	}
-	bw := bufio.NewWriter(f)
-	buf := new(bytes.Buffer)
-	return &WAL{f, bw, buf}, nil
+	return newWAL(f), nil
 }
 
 func Open(path string) (*WAL, error) {
@@ -45,9 +46,7 @@ func Open(path string) (*WAL, error) {
 	if err != nil {
 		return nil, err
 	}
-	bw := bufio.NewWriter(f)
-	buf := new(bytes.Buffer)
-	return &WAL{f, bw, buf}, nil
+	return newWAL(f), nil
 }
 
 func (w *WAL) Close() {