Skip to content

Revise association maximum PDU length handling#689

Merged
Enet4 merged 2 commits intomasterfrom
change/ul/no-pdu-max-length
Oct 2, 2025
Merged

Revise association maximum PDU length handling#689
Enet4 merged 2 commits intomasterfrom
change/ul/no-pdu-max-length

Conversation

@Enet4
Copy link
Owner

@Enet4 Enet4 commented Oct 1, 2025

Summary

  • remove constant MAXIMUM_PDU_LENGTH and lift any limits to this property (affects also findscu, scpproxy, storescp, and storescu), enabling compatible AEs to exchange larger PDUs
  • allocate write buffers at association start with capacity DEFAULT_PDU_LENGTH
  • adjust more initial capacity allocations so that they are capped by an internal constant LARGE_PDU_SIZE, or value 2621444, following the local max PDU length most of the time.
  • fix the mixup of max PDU length admitted by ClientAssociation::receive (sync and async versions), should make Fix a pair of related bugs in Server/ClientAssociation::receive #686 obsolete
  • remove deprecated constant aliases in reader module

@Enet4 Enet4 self-assigned this Oct 1, 2025
@Enet4 Enet4 added enhancement breaking change Hint that this may require a major version bump on release A-lib Area: library A-tool Area: tooling C-ul Crate: dicom-ul C-storescu Crate: dicom-storescu C-storescp Crate: dicom-storescp C-findscu Crate: dicom-findscu C-scpproxy Crate: dicom-scproxy labels Oct 1, 2025
@Enet4 Enet4 added this to the DICOM-rs 0.9 milestone Oct 1, 2025
Enet4 added 2 commits October 1, 2025 21:20
- remove MAXIMUM_PDU_LENGTH and lift any limits to this property
- allocate write buffers at start with capacity DEFAULT_PDU_LENGTH
- adjust more capacity allocations so that they are capped by an internal constant 2621444
- fix max PDU length admitted in `ClientAssociation::receive`
  (sync and async versions)
@Enet4 Enet4 force-pushed the change/ul/no-pdu-max-length branch from 6292755 to 2abb0d8 Compare October 1, 2025 20:20
@Enet4 Enet4 added the bug This is a bug label Oct 2, 2025
@Enet4 Enet4 merged commit 42ab9e0 into master Oct 2, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-lib Area: library A-tool Area: tooling breaking change Hint that this may require a major version bump on release bug This is a bug C-findscu Crate: dicom-findscu C-scpproxy Crate: dicom-scproxy C-storescp Crate: dicom-storescp C-storescu Crate: dicom-storescu C-ul Crate: dicom-ul enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant