func()

in diskio/diskdb.go [87:105]


func (diskdb *diskKVStore) Visit(visitor func(key string, val []byte) error) error {
	diskdb.mux.RLock()
	defer diskdb.mux.RUnlock()

	cancel := make(chan struct{})
	defer close(cancel)

	for key := range diskdb.db.Keys(cancel) {
		val, err := diskdb.db.Read(key)
		if err != nil {
			return err
		}
		if err := visitor(key, val); err != nil {
			return err
		}
	}

	return nil
}