pynetdicom.dimse.DIMSEServiceProvider#
- class pynetdicom.dimse.DIMSEServiceProvider(assoc: Association)[source]#
- The DIMSE service provider. - Messages - Primitive - Type - Message Class - C-CANCEL - Request/indication - C_CANCEL_RQ - C-ECHO - Request/indication - C_ECHO_RQ - Response/confirmation - C_ECHO_RSP - C-FIND - Request/indication - C_FIND_RQ - Response/confirmation - C_FIND_RSP - C-GET - Request/indication - C_GET_RQ - Response/confirmation - C_GET_RSP - C-MOVE - Request/indication - C_MOVE_RQ - Response/confirmation - C_MOVE_RSP - C-STORE - Request/indication - C_STORE_RQ - Response/confirmation - C_STORE_RSP - N-ACTION - Request/indication - N_ACTION_RQ - Response/confirmation - N_ACTION_RSP - N-CREATE - Request/indication - N_CREATE_RQ - Response/confirmation - N_CREATE_RSP - N-DELETE - Request/indication - N_DELETE_RQ - Response/confirmation - N_DELETE_RSP - N-EVENT-REPORT - Request/indication - N_EVENT_REPORT_RQ - Response/confirmation - N_EVENT_REPORT_RSP - N-GET - Request/indication - N_GET_RQ - Response/confirmation - N_GET_RSP - N-SET - Request/indication - N_SET_RQ - Response/confirmation - N_SET_RSP - cancel_rq#
- A dict of - {MessageIDBeingRespondedTo : C_CANCEL}messages received. The dict is cleared out at the start and end of Service Class operations and is limited to a maximum of 10 messages.- Type:
 
 - message#
- The DIMSE message currently being received. - Type:
- dimse_messages.DIMSEMessage or None 
 
 - msg_queue#
- A queue holding decoded DIMSE Message primitives received from the peer, except for C-CANCEL requests. - Type:
- queue.queue of dimse_messages.DIMSEMessage 
 
 - References - DICOM Standard, Part 7 
 - __init__(assoc: Association) None[source]#
- Initialise the DIMSE service provider. - Parameters:
- assoc (association.Association) – The association to provide DIMSE services for. 
 
 - Methods - __init__(assoc)- Initialise the DIMSE service provider. - get_msg([block])- Get the next available DIMSE message. - peek_msg()- Return the first message in the message queue or - None.- receive_primitive(primitive)- Process a P-DATA primitive received from the remote. - send_msg(primitive, context_id)- Encode and send a DIMSE-C or DIMSE-N message to the peer AE. - Attributes - Return the parent - Association.- Return the DIMSE timeout as numeric or - None.- Return the - DULServiceProvider.- Return the peer's maximum PDU length as - int.- property assoc: Association#
- Return the parent - Association.
 - property dul: DULServiceProvider#
- Return the - DULServiceProvider.
 - get_msg(block: bool = False) tuple[None, None] | tuple[int, C_ECHO | C_FIND | C_GET | C_MOVE | C_STORE | N_ACTION | N_CREATE | N_DELETE | N_EVENT_REPORT | N_GET | N_SET][source]#
- Get the next available DIMSE message. - Parameters:
- block (bool) – If - Truethen the function will block until either a message is available or- dimse_timeoutexpires, otherwise non-blocking.
- Returns:
- The next available (Context ID, DIMSE Message), which is taken off the queue, or - (None, None)if the peer has aborted the association, the connection is closed or if no messages are available within the- dimse_timeoutperiod.
- Return type:
- (int, dimse_messages.DIMSEMessage) or (None, None) 
 
 - peek_msg() tuple[None, None] | tuple[int, C_ECHO | C_FIND | C_GET | C_MOVE | C_STORE | N_ACTION | N_CREATE | N_DELETE | N_EVENT_REPORT | N_GET | N_SET][source]#
- Return the first message in the message queue or - None.- Returns:
- The first (Context ID, Message) in the queue if one is available, otherwise - (None, None). No messages are taken out of the queue.
- Return type:
- (int, dimse_messages.DIMSEMessage) or (None, None) 
 
 - receive_primitive(primitive: P_DATA) None[source]#
- Process a P-DATA primitive received from the remote. - A DIMSE message is split into one or more P-DATA primitives, which must be sent in sequential order. While waiting for all the P-DATA primitives associated with a message the encoded data is stored in - message, which is decoded only when complete and converted into a DIMSE Message primitive which is added to the- msg_queue.- This makes it possible to process incoming P-DATA primitives into DIMSE messages while a service class implementation is running. - Parameters:
- primitive (pdu_primitives.P_DATA) – A P-DATA primitive received from the peer to be processed. 
 
 - send_msg(primitive: C_CANCEL | DimseServiceType, context_id: int) None[source]#
- Encode and send a DIMSE-C or DIMSE-N message to the peer AE. - Parameters:
- primitive (dimse_primitives DIMSE Primitive class) – The DIMSE message primitive to send to the peer. 
- context_id (int) – The ID of the presentation context that the message is to be sent under. 
 
 
 
