~/bend-docscommunity

consumer.bend relies on unsafe/foreign

raw source on the hub · import 0xa3e9a274150f1e39ad6bd42f0b13518f/consumer.bend as Consumer

4 imports
import Base
import ./types.bend as Types
import ./lapine.bend as Lapine
import ./retry.bend as Retry

Definitions

def Consumer.acks_only_on_done source · line 6 · raw

@+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> Bool

def Consumer.body_of source · line 9 · raw

@+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> String

def Consumer.queue_of source · line 14 · raw

@+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> String

def Consumer.dlq_exchange_of source · line 19 · raw

@+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> String

def Consumer.dlq_key_of source · line 24 · raw

@+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> String

def Consumer.when_empty source · line 29 · raw

@flag:Bool -> Bool

def Consumer.should_route_dlq source · line 36 · raw

@+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> Bool

def Consumer.on_message source · line 39 · raw

@d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> IO(Result<&1, &1, Pair(U32, String), Unit>)

def Consumer.publish_dlq source · line 45 · raw

@chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> @+body:String -> IO(Pair(Nat, Result<&1, &1, Pair(U32, String), Unit>))

def Consumer.next_chan source · line 53 · raw

@sent:Pair(Nat, Result<&1, &1, Pair(U32, String), Unit>) -> IO(Nat)

def Consumer.when_dlq source · line 60 · raw

@flag:Bool -> @chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> @+body:String -> IO(Nat)

def Consumer.ack_delivery source · line 69 · raw

@chan:Nat -> @+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> IO(Pair(Nat, Result<&1, &1, Pair(U32, String), Unit>))

def Consumer.ack_and_return source · line 75 · raw

@chan:Nat -> @+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> IO(Nat)

def Consumer.finish_outcome source · line 80 · raw

@chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> @+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> @outcome:Result<&1, &1, Pair(U32, String), Unit> -> IO(Nat)

def Consumer.channel_from_opened source · line 128 · raw

@opened:Pair(Nat, Result<&1, &1, Pair(U32, String), Nat>) -> IO(Nat)

def Consumer.open_channel source · line 135 · raw

@conn:Nat -> @+cfg:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Config -> IO(Nat)

def Consumer.first_subscription source · line 142 · raw

@subs:List<&1, 0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription> -> 0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription

Unsafe

unsafe Consumer.process_attempt source · line 94 · raw

@chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> @+d:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery -> IO(Nat)

unsafe Consumer.recv_next source · line 103 · raw

@recv:Pair(Nat, Result<&1, &1, Pair(U32, String), 0xa3e9a274150f1e39ad6bd42f0b13518f/types.Delivery>) -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> IO(Nat)

unsafe Consumer.handle_once source · line 113 · raw

@chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> IO(Nat)

unsafe Consumer.loop source · line 119 · raw

@fuel:Nat -> @chan:Nat -> @+sub:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription -> IO(Unit)

unsafe Consumer.run source · line 149 · raw

@fuel:Nat -> @+cfg:0xa3e9a274150f1e39ad6bd42f0b13518f/types.Config -> @subs:List<&1, 0xa3e9a274150f1e39ad6bd42f0b13518f/types.Subscription> -> @policy:0xa3e9a274150f1e39ad6bd42f0b13518f/retry.RetryPolicy -> IO(Unit)