diff --git a/documentation/docs/assets/AddToOutbox.png b/documentation/docs/assets/AddToOutbox.png new file mode 100644 index 0000000..81dd56d Binary files /dev/null and b/documentation/docs/assets/AddToOutbox.png differ diff --git a/documentation/docs/assets/AddToTransport.png b/documentation/docs/assets/AddToTransport.png new file mode 100644 index 0000000..8564481 Binary files /dev/null and b/documentation/docs/assets/AddToTransport.png differ diff --git a/documentation/docs/introduction.md b/documentation/docs/introduction.md index 4b47b89..40a15d2 100644 --- a/documentation/docs/introduction.md +++ b/documentation/docs/introduction.md @@ -33,17 +33,27 @@ The following diagrams show the basic flow (omits details). They are designed to provide a general understanding of how transactional box works. ### Outbox +:::info The outbox is responsible for adding messages to the storage and then adding at least once to the transport. +:::
-![Outbox](assets/outbox.png) +![AddToOutbox](assets/AddToOutbox.png)
-1. In one transaction you save message to outbox and result of business operation. In this way, you can ensure all or nothing. After correctly transaction commited, execute the `TransactionCommitted` method on `IOutbox`. -2. In a separate process, Outbox will get messages and add them to the transport. +In one transaction you save message to outbox and result of business operation. In this way, you can ensure all or nothing. After correctly transaction commited, execute the `TransactionCommitted` method on `IOutbox`. + +
+![AddToOutbox](assets/AddToTransport.png) +
+ +1. In a separate process, Outbox gets messages. +2. Then add them to the transport. 3. Then processed messages are clean up. ### Inbox +:::info The inbox is responsible for getting messages from the transport and adding them to the storage, and then processes these messages. +:::
![Inbox](assets/inbox.png)