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.

property 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.

property event_queue

Return the Association’s event queue.

property 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.