Do akka streams provide guaranteed delivery

the following is from the documentation (akka):

Delivery guarantees

Stream refs utilise normal actor messaging for their trainsport, and therefore provide the same level of basic delivery guarantees. Stream refs do extend the semantics somewhat, through demand re-delivery and sequence fault detection. In other words:

messages are sent over actor remoting
    which relies on TCP (classic remoting or Artery TCP) or Aeron UDP for basic redelivery mechanisms
messages are guaranteed to to be in-order
messages can be lost, however:
    a dropped demand signal will be re-delivered automatically (similar to system messages)
    a dropped element signal will cause the stream to fail

document link -> https://doc.akka.io/docs/akka/current/stream/stream-refs.html


After reading this, i am curious. Does akka stream provide guaranteed delivery then. For eg. A bunch of actors store events in journal that feeds a stream that batches messages (with flow of lets say 1 second for max 1000 messages) to the other actor. Does this guarantee delivery?

Also, as a side question. If the system messages re-delivers droped messages automaticly, does this mean that the event stream guarantees delivery?

Akka Streams are normally local only, except for StreamRefs or integrations with external products, such as Alpakka connectors.

Local streams will deliver all elements, unless the JVM crashes or some other bug.

StreamRefs will detect if elements are lost (due to network issues) and will then fail the stream.

Cross post (and answer): https://stackoverflow.com/questions/59474633/do-akka-streams-provide-guaranteed-delivery