milvus/internal/streamingnode/server/wal/builder.go

32 lines
779 B
Go
Raw Normal View History

package wal
import (
"context"
"github.com/milvus-io/milvus/internal/proto/streamingpb"
"github.com/milvus-io/milvus/pkg/streaming/walimpls"
)
// OpenerBuilder is the interface for build wal opener.
type OpenerBuilder interface {
// Name of the wal builder, should be a lowercase string.
Name() string
Build() (Opener, error)
}
// OpenOption is the option for allocating wal instance.
type OpenOption struct {
Channel *streamingpb.PChannelInfo
InterceptorBuilders []walimpls.InterceptorBuilder // Interceptor builders to build when open.
}
// Opener is the interface for build wal instance.
type Opener interface {
// Open open a wal instance.
Open(ctx context.Context, opt *OpenOption) (WAL, error)
// Close closes the opener resources.
Close()
}