github.com/argoproj/argo-events@v1.9.1/eventbus/jetstream/eventsource/source_jetstream.go (about)

     1  package eventsource
     2  
     3  import (
     4  	eventbuscommon "github.com/argoproj/argo-events/eventbus/common"
     5  	jetstreambase "github.com/argoproj/argo-events/eventbus/jetstream/base"
     6  	"go.uber.org/zap"
     7  )
     8  
     9  type SourceJetstream struct {
    10  	*jetstreambase.Jetstream
    11  	eventSourceName string
    12  }
    13  
    14  func NewSourceJetstream(url, eventSourceName string, streamConfig string, auth *eventbuscommon.Auth, logger *zap.SugaredLogger) (*SourceJetstream, error) {
    15  	baseJetstream, err := jetstreambase.NewJetstream(url, streamConfig, auth, logger)
    16  	if err != nil {
    17  		return nil, err
    18  	}
    19  	return &SourceJetstream{
    20  		baseJetstream,
    21  		eventSourceName,
    22  	}, nil
    23  }
    24  
    25  func (n *SourceJetstream) Initialize() error {
    26  	return n.Init() // member of jetstreambase.Jetstream
    27  }
    28  
    29  func (n *SourceJetstream) Connect(clientID string) (eventbuscommon.EventSourceConnection, error) {
    30  	conn, err := n.MakeConnection()
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  
    35  	return CreateJetstreamSourceConn(conn, n.eventSourceName), nil
    36  }