class documentation

class BaseClient(_BaseBaseClient, _TLSClientMixin, Connection): (source)

Known subclasses: twisted.internet.tcp.Client, twisted.internet.unix.Client

View In Hierarchy

A base class for client TCP (and similar) sockets.
Method create​Internet​Socket (internal) Create a non-blocking socket using self.addressFamily, self.socketType.
Method do​Connect Initiate the outgoing connection attempt.
Instance Variable connected Undocumented
Instance Variable logstr Undocumented
Instance Variable protocol Undocumented
Instance Variable real​Address The address object that will be used for socket.connect; this address is an address tuple (the number of elements dependent upon the address family) which does not contain any names which need to be resolved.
Method _collect​Socket​Details Clean up references to the socket and its file descriptor.
Method _connect​Done This is a hook for when a connection attempt has succeeded.
Method _stop​Reading​And​Writing Implement the POSIX-ish (i.e. twisted.internet.interfaces.IReactorFDSet) method of detaching this socket from the reactor for _BaseBaseClient.
Instance Variable _base Connection, which is the base class of this class which has all of the useful file descriptor methods. This is used by _TLSServerMixin to call the right methods to directly manipulate the transport, as is necessary for writing TLS-encrypted bytes (whereas those methods on Server will go through another layer of TLS if it has been enabled).

Inherited from _BaseBaseClient:

Method connection​Lost No summary
Method fail​If​Not​Connected Generic method called when the attempts to connect failed. It basically cleans everything it can: call connectionFailed, stop read and write, delete socket related members.
Method resolve​Address No summary
Method stop​Connecting If a connection attempt is still outstanding (i.e. no connection is yet established), immediately stop attempting to connect.
Instance Variable address​Family The address family constant (socket.AF_INET, socket.AF_INET6, socket.AF_UNIX) of the underlying socket of this client connection.
Instance Variable reactor The class pointed to by _commonConnection should set this attribute in its constructor.
Instance Variable socket​Type The socket type constant (socket.SOCK_STREAM or socket.SOCK_DGRAM) of the underlying socket.
Method _finish​Init Called by subclasses to continue to the stage of initialization where the socket connect attempt is made.
Method _set​Real​Address Set the resolved address of this _BaseBaseClient and initiate the connection attempt.
Class Variable _common​Connection Subclasses must provide this attribute, which indicates the Connection-alike class to invoke __init__ and connectionLost on.
Instance Variable _close​Socket Subclasses must implement in order to close the socket in response to a terminated connection attempt.
Instance Variable _requires​Resolution A flag indicating whether the address of this client will require name resolution. True if the hostname of said address indicates a name that must be resolved by hostname lookup, False if it indicates an IP address literal.

Inherited from Connection:

Method __init__
Method connection​Lost See abstract.FileDescriptor.connectionLost().
Method do​Read Calls self.protocol.dataReceived with all available data.
Method get​Handle Return the socket for this connection.
Method get​Tcp​Keep​Alive Return if SO_KEEPALIVE is enabled.
Method get​Tcp​No​Delay Return if TCP_NODELAY is enabled.
Method log​Prefix Return the prefix to log with when I own the logging thread.
Method read​Connection​Lost Indicates read connection was lost.
Method set​Tcp​Keep​Alive Enable/disable SO_KEEPALIVE.
Method set​Tcp​No​Delay Enable/disable TCP_NODELAY.
Method write​Some​Data Write as much as possible of the given data to this TCP connection.
Instance Variable socket Undocumented
Method _close​Write​Connection Undocumented
Method _data​Received Undocumented

Inherited from _TLSConnectionMixin (via Connection):

Constant TLS Undocumented

Inherited from FileDescriptor (via Connection):

Method do​Write Called when data can be written.
Method fileno File Descriptor number for select().
Method get​Host Similar to getPeer, but returns an address describing this side of the connection.
Method get​Peer Get the remote address of this connection.
Method lose​Connection Close the connection at the next available opportunity.
Method lose​Write​Connection Undocumented
Method pause​Producing Pause producing data.
Method resume​Producing Resume producing data.
Method start​Reading Start waiting for read availability.
Method start​Writing Start waiting for write availability.
Method stop​Consuming Stop consuming data.
Method stop​Producing Stop producing data.
Method stop​Reading Stop waiting for read availability.
Method stop​Writing Stop waiting for write availability.
Method write Reliably write some data.
Method write​Connection​Lost Indicates write connection was lost.
Method write​Sequence Reliably write a sequence of data.
Constant SEND​_LIMIT Undocumented
Class Variable buffer​Size Undocumented
Class Variable disconnecting Undocumented
Instance Variable data​Buffer Undocumented
Instance Variable disconnected Undocumented
Instance Variable offset Undocumented
Instance Variable producer Undocumented
Instance Variable producer​Paused Undocumented
Instance Variable reactor Undocumented
Method _is​Send​Buffer​Full Determine whether the user-space send buffer for this transport is full or not.
Method _maybe​Pause​Producer Possibly pause a producer, if there is one and the send buffer is full.
Method _post​Lose​Connection Called after a loseConnection(), when all data has been written.
Class Variable _write​Disconnected Undocumented
Instance Variable _temp​Data​Buffer Undocumented
Instance Variable _temp​Data​Len Undocumented
Instance Variable _write​Disconnecting Undocumented

Inherited from _ConsumerMixin (via Connection, FileDescriptor):

Method register​Producer Register to receive data from a producer.
Method unregister​Producer Stop consuming data from a producer, without disconnecting.
Instance Variable streaming​Producer bool or int

Inherited from _LogOwner (via Connection, FileDescriptor):

Method _get​Log​Prefix Determine the log prefix to use for messages related to applicationObject, which may or may not be an interfaces.ILoggingContext provider.

Inherited from _SocketCloser (via Connection):

Method _close​Socket Undocumented
Instance Variable _should​Shutdown Set to True if shutdown should be called before calling close on the underlying socket.

Inherited from _AbortingMixin (via Connection):

Method abort​Connection Aborts the connection immediately, dropping any buffered data.
Instance Variable do​Write Undocumented
Instance Variable _aborting Set to True when abortConnection is called.
def createInternetSocket(self): (source)
(internal) Create a non-blocking socket using self.addressFamily, self.socketType.
def doConnect(self): (source)
Initiate the outgoing connection attempt.
Note
Applications do not need to call this method; it will be invoked internally as part of IReactorTCP.connectTCP.
realAddress: tuple = (source)
The address object that will be used for socket.connect; this address is an address tuple (the number of elements dependent upon the address family) which does not contain any names which need to be resolved.
def _collectSocketDetails(self): (source)
Clean up references to the socket and its file descriptor.
See Also
_BaseBaseClient
def _connectDone(self): (source)

This is a hook for when a connection attempt has succeeded.

Here, we build the protocol from the twisted.internet.protocol.ClientFactory that was passed in, compute a log string, begin reading so as to send traffic to the newly built protocol, and finally hook up the protocol itself.

This hook is overridden by ssl.Client to initiate the TLS protocol.

def _stopReadingAndWriting(self): (source)
Implement the POSIX-ish (i.e. twisted.internet.interfaces.IReactorFDSet) method of detaching this socket from the reactor for _BaseBaseClient.
_base = (source)
Connection, which is the base class of this class which has all of the useful file descriptor methods. This is used by _TLSServerMixin to call the right methods to directly manipulate the transport, as is necessary for writing TLS-encrypted bytes (whereas those methods on Server will go through another layer of TLS if it has been enabled).