pynetdicom.transport.AssociationSocket

class pynetdicom.transport.AssociationSocket(assoc, client_socket=None, address=('', 0))

A wrapper for a socket.socket object.

Provides an interface for socket.socket that is integrated nicely with an Association instance and the state machine.

select_timeout

The timeout (in seconds) that select.select() calls in ready() will block for (default 0.5). A value of 0 specifies a poll and never blocks. A value of None blocks until a connection is ready.

Type:float or None
socket

The wrapped socket, will be ``None``if close() is called.

Type:socket.socket or None
tls_args

If the socket should be wrapped by TLS then this is (context, hostname), where context is a ssl.SSLContext that will be used to wrap the socket and hostname is the value to use for the server_hostname keyword argument for SSLContext.wrap_socket() If TLS is not to be used then None (default).

Type:2-tuple or None
__init__(assoc, client_socket=None, address=('', 0))

Create a new AssociationSocket.

Parameters:
  • assoc (association.Association) – The Association instance that will be using the socket to communicate.
  • client_socket (socket.socket, optional) – The socket to wrap, if not supplied then a new socket will be created instead.
  • address (2-tuple, optional) – If client_socket is None then this is the (host, port) to bind the newly created socket to, which by default will be ('', 0).

Methods

__init__(assoc[, client_socket, address]) Create a new AssociationSocket.
close() Close the connection to the peer and shutdown the socket.
connect(address) Try and connect to a remote at address.
recv(nr_bytes) Read nr_bytes from the socket.
send(bytestream) Try and send the data in bytestream to the remote.

Attributes

assoc Return the socket’s parent Association instance.
event_queue Return the Association’s event queue.
ready Return True if there is data available to be read.
assoc

Return the socket’s parent Association instance.

close()

Close the connection to the peer and shutdown the socket.

Sets AssociationSocket.socket to None once complete.

Events Emitted

  • Evt17: Transport connection closed
connect(address)

Try and connect to a remote at address.

Events Emitted

  • Evt2: Transport connection confirmed
  • Evt17: Transport connection closed
Parameters:address (2-tuple) – The (host, port) IPv4 address to connect to.
event_queue

Return the Association’s event queue.

ready

Return True if there is data available to be read.

Events Emitted

  • None
  • Evt17: Transport connection closed
Returns:True if the socket has data ready to be read, False otherwise.
Return type:bool
recv(nr_bytes)

Read nr_bytes from the socket.

Events Emitted

  • None
Parameters:nr_bytes (int) – The number of bytes to attempt to read from the socket.
Returns:The data read from the socket.
Return type:bytearray
send(bytestream)

Try and send the data in bytestream to the remote.

Events Emitted

  • None
  • Evt17: Transport connected closed.
Parameters:bytestream (bytes) – The data to send to the remote.