123456789101112131415161718192021222324252627282930313233343536 |
- package storage
- import (
- "github.com/cockroachdb/pebble"
- "log"
- )
- var db *pebble.DB
- func init() {
- newDB, err := pebble.Open("vpn.db", &pebble.Options{})
- if err != nil {
- log.Fatalf("err: %+v", err)
- }
- db = newDB
- }
- func get(key string) ([]byte, error) {
- value, closer, err := db.Get([]byte(key))
- if err != nil {
- return nil, err
- }
- if err == pebble.ErrNotFound {
- return []byte{}, nil
- }
- newValue := make([]byte, len(value))
- copy(newValue, value)
- if err := closer.Close(); err != nil {
- return nil, err
- }
- return newValue, nil
- }
- func set(key string, value []byte) error {
- return db.Set([]byte(key), value, pebble.Sync)
- }
|