com.sksamuel.pulsar4s.akka.streams

Members list

Concise view

Type members

Classlikes

Attributes

Graph
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

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

Attributes

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

Attributes

Graph
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
class PulsarReaderSourceGraphStage[T](create: () => Reader[T], seek: Option[MessageId]) extends GraphStageWithMaterializedValue[SourceShape[ConsumerMessage[T]], Control] with Logging

Attributes

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

Attributes

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

Attributes

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

Attributes

Graph
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.

Attributes

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.

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.

Attributes

create

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

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.

Attributes

create

a function to create a new Producer

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.

Attributes

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.

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

Attributes

create

a function to create a new Reader.

seek

an optional MessageId to seek to.

Returns:

the new Source.