com.sksamuel.pulsar4s.akka.streams

Members list

Type members

Classlikes

Attributes

Supertypes
class Object
trait Matchable
class Any
@DoNotInherit
trait Control

Provides operations for controlling the Pulsar Akka streams sources.

Provides operations for controlling the Pulsar Akka streams sources.

This trait is not meant to be inherited by external code.

Attributes

Supertypes
class Object
trait Matchable
class Any
class PulsarCommittableSourceGraphStage[T](create: () => Consumer[T], seek: Option[MessageId], closeDelay: FiniteDuration) extends GraphStageWithMaterializedValue[SourceShape[CommittableMessage[T]], Control], Logging

Attributes

Supertypes
trait Logging
class GraphStageWithMaterializedValue[SourceShape[CommittableMessage[T]], Control]
trait Graph[SourceShape[CommittableMessage[T]], Control]
class Object
trait Matchable
class Any
Show all
class PulsarMultiSinkGraphStage[T](createFn: Topic => Producer[T], initTopics: Set[Topic]) extends GraphStageWithMaterializedValue[SinkShape[(Topic, ProducerMessage[T])], Future[Done]], Logging

Attributes

Supertypes
trait Logging
class GraphStageWithMaterializedValue[SinkShape[(Topic, ProducerMessage[T])], Future[Done]]
trait Graph[SinkShape[(Topic, ProducerMessage[T])], Future[Done]]
class Object
trait Matchable
class Any
Show all
class PulsarReaderSourceGraphStage[T](create: () => Reader[T], seek: Option[MessageId]) extends GraphStageWithMaterializedValue[SourceShape[ConsumerMessage[T]], Control], Logging

Attributes

Supertypes
trait Logging
class GraphStageWithMaterializedValue[SourceShape[ConsumerMessage[T]], Control]
trait Graph[SourceShape[ConsumerMessage[T]], Control]
class Object
trait Matchable
class Any
Show all
class PulsarSinkGraphStage[T](createFn: () => Producer[T]) extends GraphStageWithMaterializedValue[SinkShape[ProducerMessage[T]], Future[Done]], Logging

Attributes

Supertypes
trait Logging
class GraphStageWithMaterializedValue[SinkShape[ProducerMessage[T]], Future[Done]]
trait Graph[SinkShape[ProducerMessage[T]], Future[Done]]
class Object
trait Matchable
class Any
Show all
class PulsarSourceGraphStage[T](create: () => Consumer[T], seek: Option[MessageId]) extends GraphStageWithMaterializedValue[SourceShape[ConsumerMessage[T]], Control], Logging

Attributes

Supertypes
trait Logging
class GraphStageWithMaterializedValue[SourceShape[ConsumerMessage[T]], Control]
trait Graph[SourceShape[ConsumerMessage[T]], Control]
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Value members

Concrete methods

def committableSource[T](create: () => Consumer[T], seek: Option[MessageId], closeDelay: FiniteDuration): Source[CommittableMessage[T], Control]

Create an Akka Streams source for the given Consumer that produces CommittableMessages, which can be acknowledged individually.

Create an Akka Streams source for the given Consumer that produces CommittableMessages, which can be acknowledged individually.

Value parameters

closeDelay

the maximum amount of time to wait after the source completes before closing the consumer, assuming the consumer is not already closed explicitly by shutdown or drainAndShutdown.

create

a function to create a new Consumer.

seek

an optional MessageId to seek to. Note that seeking will not work on multi-topic subscriptions. Prefer setting subscriptionInitialPosition in ConsumerConfig instead if you need to start at the earliest or latest offset.

Attributes

Returns

the new Source.

def multiSink[T](create: Topic => Producer[T], initTopics: Iterable[Topic]): Sink[(Topic, ProducerMessage[T]), Future[Done]]

Create a multi-topic Akka Streams sink from a Producer.

Create a multi-topic Akka Streams sink from a Producer.

Value parameters

create

a function to create a new Producer taking com.sksamuel.pulsar4s.Topic as a parameter

Attributes

Returns

the new Sink.

def sink[T](create: () => Producer[T]): Sink[ProducerMessage[T], Future[Done]]

Create an Akka Streams sink from a Producer.

Create an Akka Streams sink from a Producer.

Value parameters

create

a function to create a new Producer

Attributes

Returns

the new Sink.

def source[T](create: () => Consumer[T], seek: Option[MessageId]): Source[ConsumerMessage[T], Control]

Create an Akka Streams source for the given Consumer that produces ConsumerMessages and auto-acknowledges.

Create an Akka Streams source for the given Consumer that produces ConsumerMessages and auto-acknowledges.

Value parameters

create

a function to create a new Consumer.

seek

an optional MessageId to seek to. Note that seeking will not work on multi-topic subscriptions. Prefer setting subscriptionInitialPosition in ConsumerConfig instead if you need to start at the earliest or latest offset.

Attributes

Returns

the new Source.

def sourceReader[T](create: () => Reader[T], seek: Option[MessageId]): Source[ConsumerMessage[T], Control]

Create an Akka Streams source for the given Reader that produces ConsumerMessages. Readers are used when there is no needs to track message consumption

Create an Akka Streams source for the given Reader that produces ConsumerMessages. Readers are used when there is no needs to track message consumption

Value parameters

create

a function to create a new Reader.

seek

an optional MessageId to seek to.

Attributes

Returns

the new Source.