chyezh d2bc4a53be
enhance: implement rmq and pulsar as wal (#34046)
issue: #33285

- use reader but not consumer for pulsar
- advanced test framework
- move some streaming related package into pkg

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-06-27 15:11:05 +08:00

32 lines
779 B
Go

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()
}