You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package sub_client
import ( "github.com/seaweedfs/seaweedfs/weed/pb/mq_pb" "google.golang.org/grpc" )
type SubscriberConfiguration struct { ClientId string GroupId string GroupInstanceId string BootstrapServers []string GrpcDialOption grpc.DialOption }
type ContentConfiguration struct { Namespace string Topic string Filter string }
type OnEachMessageFunc func(key, value []byte) (shouldContinue bool) type OnCompletionFunc func()
type TopicSubscriber struct { SubscriberConfig *SubscriberConfiguration ContentConfig *ContentConfiguration brokerPartitionAssignments []*mq_pb.BrokerPartitionAssignment OnEachMessageFunc OnEachMessageFunc OnCompletionFunc OnCompletionFunc }
func NewTopicSubscriber(subscriber *SubscriberConfiguration, content *ContentConfiguration) *TopicSubscriber { return &TopicSubscriber{ SubscriberConfig: subscriber, ContentConfig: content, } }
func (sub *TopicSubscriber) Connect(bootstrapBroker string) error { if err := sub.doLookup(bootstrapBroker); err != nil { return err } return nil }
func (sub *TopicSubscriber) SetEachMessageFunc(onEachMessageFn OnEachMessageFunc) { sub.OnEachMessageFunc = onEachMessageFn }
func (sub *TopicSubscriber) SetCompletionFunc(onCompeletionFn OnCompletionFunc) { sub.OnCompletionFunc = onCompeletionFn }
|