pynetdicom.dul.DULServiceProvider¶
-
class
pynetdicom.dul.
DULServiceProvider
(assoc)¶ The DICOM Upper Layer Service Provider.
-
artim_timer
¶ The ARTIM timer
- Type
-
socket
¶ A wrapped socket.socket object used to communicate with the peer.
-
to_provider_queue
¶ Queue of PDUs from the DUL service user to be processed by the DUL provider
- Type
queue.Queue
-
to_user_queue
¶ Queue of primitives from the DUL service to be processed by the DUL user
- Type
queue.Queue
-
event_queue
¶ List of queued events to be processed by the state machine
- Type
queue.Queue
-
state_machine
¶ The DICOM Upper Layer’s State Machine
- Type
-
__init__
(assoc)¶ - Parameters
assoc (association.Association) – The DUL’s parent Association instance.
Methods
__init__
(assoc)- param assoc
The DUL’s parent Association instance.
getName
()Checks if the idle timer has expired
isAlive
()Return whether the thread is alive.
isDaemon
()is_alive
()Return whether the thread is alive.
join
([timeout])Wait until the thread terminates.
kill_dul
()Immediately interrupts the thread
Check the next PDU to be processed.
receive_pdu
([wait, timeout])Return an item from the queue if one is available.
run
()The main threading.Thread run loop.
send_pdu
(primitive)Place a primitive in the provider queue to be sent to the peer.
setDaemon
(daemonic)setName
(name)start
()Start the thread’s activity.
stop_dul
()Interrupts the thread if state is “Sta1”
Attributes
Return the Association we are providing DUL services for.
A boolean value indicating whether this thread is a daemon thread.
Thread identifier of this thread or None if it has not been started.
A string used for identification purposes only.
Return the network_timeout.
-
property
assoc
¶ Return the Association we are providing DUL services for.
-
property
daemon
¶ A boolean value indicating whether this thread is a daemon thread.
This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
The entire Python program exits when no alive non-daemon threads are left.
-
property
ident
¶ Thread identifier of this thread or None if it has not been started.
This is a nonzero integer. See the get_ident() function. Thread identifiers may be recycled when a thread exits and another thread is created. The identifier is available even after the thread has exited.
-
idle_timer_expired
()¶ Checks if the idle timer has expired
- Returns
True if the idle timer has expired, False otherwise.
- Return type
bool
-
isAlive
()¶ Return whether the thread is alive.
This method is deprecated, use is_alive() instead.
-
is_alive
()¶ Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. The module function enumerate() returns a list of all alive threads.
-
join
(timeout=None)¶ Wait until the thread terminates.
This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception or until the optional timeout occurs.
When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call is_alive() after join() to decide whether a timeout happened – if the thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will block until the thread terminates.
A thread can be join()ed many times.
join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.
-
kill_dul
()¶ Immediately interrupts the thread
-
property
name
¶ A string used for identification purposes only.
It has no semantics. Multiple threads may be given the same name. The initial name is set by the constructor.
-
property
network_timeout
¶ Return the network_timeout.
-
peek_next_pdu
()¶ Check the next PDU to be processed.
-
receive_pdu
(wait=False, timeout=None)¶ Return an item from the queue if one is available.
Get the next item to be processed out of the queue of items sent from the DUL service provider to the service user
- Parameters
wait (bool, optional) – If wait is True and timeout is None, blocks until an item is available. If timeout is a positive number, blocks at most timeout seconds. Otherwise returns an item if one is immediately available.
timeout (int or None) – See the definition of wait
- Returns
queue_item – The next object in the to_user_queue.
None – If the queue is empty.
-
run
()¶ The main threading.Thread run loop. Runs constantly, checking the connection for incoming data. When incoming data is received it categorises it and add its to the to_user_queue.
-
send_pdu
(primitive)¶ Place a primitive in the provider queue to be sent to the peer.
Primitives are converted to the corresponding PDU and encoded before sending.
- Parameters
- pdu_primitives class (primitive) – A service primitive, one of A_ASSOCIATE, A_RELEASE, A_ABORT, A_P_ABORT or P_DATA.
-
start
()¶ Start the thread’s activity.
It must be called at most once per thread object. It arranges for the object’s run() method to be invoked in a separate thread of control.
This method will raise a RuntimeError if called more than once on the same thread object.
-
stop_dul
()¶ Interrupts the thread if state is “Sta1”
- Returns
True if Sta1, False otherwise
- Return type
bool
-