package ironmq
- Source
- package.scala
- Alphabetic
- By Inheritance
- ironmq
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait Codec extends AnyRef
- class ConfigIronMqSettings extends IronMqSettings
-
class
IronMqClient extends AnyRef
An IronMq client based on Akka-http.
An IronMq client based on Akka-http.
This client provide a subset of the operation you can do by the IronMQ protocol. It is not intended to be used by the final user but as internal API. Still it could be used to create/list/delete queues if needed.
-
class
IronMqPullStage extends GraphStage[SourceShape[CommittableMessage]]
This stage will fetch messages from IronMq and buffer them internally.
This stage will fetch messages from IronMq and buffer them internally.
It is implemented as a timed loop, each invocation will fetch new messages from IronMq if the amount of buffered messages is lower than ConsumerSettings.bufferMinSize.
The frequency of the loop is controlled by ConsumerSettings.fetchInterval while the amount of time the client is blocked on the HTTP request waiting for messages is controlled by ConsumerSettings.pollTimeout.
Keep in mind that the IronMq time unit is the second, so any value below the second is considered 0.
-
class
IronMqPushStage extends GraphStage[FlowShape[PushMessage, Future[Ids]]]
It is a very trivial IronMQ push stage.
It is a very trivial IronMQ push stage. It push the message to IronMq as soon as they are pushed to this Stage.
Because of that it does not guarantee the order of the produced messages and does not apply any backpressure. A more sophisticated implementation will buffer the messages before pushing them and allow only a certain amount of parallel requests.
-
abstract
class
IronMqSettings extends AnyRef
IronMQ settings.
IronMQ settings. To a detailed documentation please refer to the reference.conf.
-
case class
Message(messageId: Id, body: String, noOfReservations: Int) extends Product with Serializable
The message consumed from IronMq.
The message consumed from IronMq.
- messageId
The unique id of the message.
- body
The pushed message content.
- noOfReservations
It is the count of how many time the message has been reserved (and released or expired) previously
- case class PushMessage(body: String, delay: FiniteDuration = Duration.Zero) extends Product with Serializable
-
case class
Queue(name: Name) extends Product with Serializable
Simplified representation of the IronMq queue.
Simplified representation of the IronMq queue.
- name
The name associated with this Queue.
-
case class
Reservation(messageId: Id, reservationId: Id) extends Product with Serializable
Represent a message reservation.
Represent a message reservation. It is used when you need to delete or release a reserved message. It is obtained from a ReservedMessage by message id and reservation id.
- messageId
The previously reserved message Id.
- reservationId
The reservation id
-
case class
ReservedMessage(reservationId: Id, message: Message) extends Product with Serializable
The message reserved from IronMq.
The message reserved from IronMq.
This message has been ask to be reserved from IronMq. It contains both the message itself and the reservation id.
- reservationId
The reservation id needed to release or delete the message.
- message
The fetched message.
-
implicit
class
RichJavaDuration extends AnyRef
This is a utility implicit class to allow convert a java.time.Duration in a FiniteDuration.
Value Members
- object Codec extends Codec
- object ConfigIronMqSettings
- object IronMqClient
- object IronMqPullStage
- object IronMqSettings
- object Message extends Serializable
- object PushMessage extends Serializable
- object Queue extends Serializable
- object Reservation extends Serializable