Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- `sequential` retrieve mode could return instances of a different study: when a retrieve ended early (client
disconnect, timeout), the PACS kept sending the previous study, and the next retrieve for the same AET received
those instances. Incoming instances are now assigned by their `StudyInstanceUID`, and only C-MOVEs of the same
study are serialized, so retrieves of different studies no longer wait for each other (#71)

### Changed

- Updated `dicom-rs` dependency to 0.10.0
- `sequential` retrieve mode now only serializes C-MOVEs of the same study; C-MOVEs of different studies run
concurrently, limited by the association pool size (#71)

## [0.3.1] - 2026-09-14

Expand Down
10 changes: 6 additions & 4 deletions docs/topics/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,12 +218,14 @@ Each AET (regardless of the backend) has additional settings specific to the DIC
<b>DIMSE-backend only:</b>
Some PACS do not include the <code>MoveOriginatorMessageId</code> attribute in their C-STORE-RQ messages.
This makes it hard to assign incoming C-STORE-RQ responses to an active C-MOVE operation.
As a workaround, you can set the receive mode to <code>sequential</code> to disable concurrent C-MOVEs.
Throughput will be limited, but it will work reliably. Consider increasing the timeouts when using the <b>sequential</b> mode.
As a workaround, you can set the receive mode to <code>sequential</code>, which assigns incoming instances by their
<code>StudyInstanceUID</code> instead. C-MOVEs of the same study run one at a time; C-MOVEs of different studies run concurrently.
Instances without a <code>StudyInstanceUID</code> cannot be assigned in this mode and are dropped with a warning.
Consider increasing the timeouts when using the <b>sequential</b> mode.
Most PACS can and should use the <b>concurrent</b> mode.
<list>
<li><b>concurrent</b>: C-MOVE requests are processed concurrently.</li>
<li><b>sequential</b>: C-MOVE requests are processed sequentially.</li>
<li><b>concurrent</b>: C-MOVE requests are processed concurrently; instances are assigned by <code>MoveOriginatorMessageId</code>.</li>
<li><b>sequential</b>: C-MOVE requests for the same study are processed sequentially; instances are assigned by <code>StudyInstanceUID</code>.</li>
</list>
</def>
<def title="wado-rs.receivers" id="dicomweb.wado-rs.receivers">
Expand Down
Loading
Loading