Table of Contents

Interface IAdvancedDicomClientConnectionFactory

Namespace
FellowOakDicom.Network.Client.Advanced.Connection
Assembly
fo-dicom.core.dll

Represents an advanced DICOM client that exposes the highest amount of manual control over the underlying DICOM communication when sending DICOM requests
Using an advanced DICOM client, it is possible to manage the lifetime of a DICOM connection + association in a fine-grained manner and send any number of DICOM requests over it

The regular DICOM client is completely built on top of this advanced DICOM client.
Be aware that consumers of the advanced DICOM client are left to their own devices to handle the fine details of interacting with other PACS software.
Here is an incomplete sample of the things the regular DICOM client will do for you:

  • Enforce a maximum amount of requests per association
  • Keep an association alive for a certain amount of time to allow more requests to be sent
  • Automatically open more associations while more requests are enqueued
  • Automatically negotiate presentation contexts based on the requests that are enqueued

    This advanced DICOM client is offered to expert users of the Fellow Oak DICOM library.
    If you do not consider yourself such an expert, please reconsider the compatibility of the regular DicomClient with your use case.
public interface IAdvancedDicomClientConnectionFactory
Extension Methods

Methods

OpenConnectionAsync(AdvancedDicomClientConnectionRequest, CancellationToken)

Opens a new TCP connection to another AE using the parameters provided in the connection request
WARNING: you cannot reuse a single connection for multiple associations

Task<IAdvancedDicomClientConnection> OpenConnectionAsync(AdvancedDicomClientConnectionRequest request, CancellationToken cancellationToken)

Parameters

request AdvancedDicomClientConnectionRequest

The connection request that specifies the details of the connection that should be opened

cancellationToken CancellationToken

The token that will cancel the opening of the connection

Returns

Task<IAdvancedDicomClientConnection>

A new instance of IAdvancedDicomClientConnection