twisted.internet.endpoints.HostnameEndpoint(object)
class documentationtwisted.internet.endpoints
View Source
(View In Hierarchy)
Implements interfaces: twisted.internet.interfaces.IStreamClientEndpoint
A name-based endpoint that connects to the fastest amongst the resolved host addresses.
Method | __init__ | Create a HostnameEndpoint . |
Method | connect | Attempts a connection to each resolved address, and returns a connection which is established first. |
Class Variable | _DEFAULT_ATTEMPT_DELAY | The default time to use between attempts, in seconds, when no
attemptDelay is given to HostnameEndpoint.__init__ . |
Instance Variable | _hostText | the textual representation of the hostname passed to the constructor. Used
to pass to the reactor's hostname resolver. (type: unicode ) |
Instance Variable | _hostBytes | the encoded bytes-representation of the hostname passed to the constructor.
Used to construct the HostnameAddress
associated with this endpoint. (type: bytes ) |
Instance Variable | _hostStr | the native-string representation of the hostname passed to the constructor,
used for exception construction (type: native str ) |
Instance Variable | _badHostname | a flag - hopefully false! - indicating that an invalid hostname was passed
to the constructor. This might be a textual hostname that isn't valid
IDNA, or non-ASCII bytes. (type: bool ) |
Method | _getNameResolverAndMaybeWarn | Retrieve a nameResolver callable and warn the caller's
caller that using a reactor which doesn't provide IReactorPluggableNameResolver
is deprecated. |
Static Method | _hostAsBytesAndText | No summary |
Method | _fallbackNameResolution | Resolve the hostname string into a tuple containing the host address.
This is method is only used when the reactor does not provide IReactorPluggableNameResolver . |
attemptDelay
is given to HostnameEndpoint.__init__
.
unicode
)
HostnameAddress
associated with this endpoint. (type: bytes
)
str
)
bool
)
Create a HostnameEndpoint
.
Parameters | reactor | The reactor to use for connections and delayed calls. (type: provider of IReactorTCP ,
IReactorTime
and either IReactorPluggableNameResolver
or IReactorPluggableResolver .) |
host | A hostname to connect to. (type: bytes
or unicode ) | |
port | The port number to connect to. (type: int ) | |
timeout | For each individual connection attempt, the number of seconds to wait
before assuming the connection has failed. (type: int ) | |
bindAddress | the local address of the network interface to make the connections from. (type: bytes ) | |
attemptDelay | The number of seconds to delay between connection attempts. (type: float ) | |
See Also | twisted.internet.interfaces.IReactorTCP.connectTCP |
Retrieve a nameResolver
callable and warn the caller's
caller that using a reactor which doesn't provide IReactorPluggableNameResolver
is deprecated.
Parameters | reactor | The reactor to check. |
Returns | A IHostnameResolver
provider. |
For various reasons (documented in the @ivar
's in the class
docstring) we need both a textual and a binary representation of the
hostname given to the constructor. For compatibility and convenience, we
accept both textual and binary representations of the hostname, save the
form that was passed, and convert into the other form. This is mostly just
because HostnameAddress
chose somewhat poorly to define its attribute as bytes; hopefully we can
find a compatible way to clean this up in the future and just operate in
terms of text internally.
Parameters | host | A hostname to convert. (type: bytes
or str ) |
Returns | a 3-tuple of (invalid, bytes, text) where invalid
is a boolean indicating the validity of the hostname, bytes is
a binary representation of host , and text is a
textual representation of host . |
Attempts a connection to each resolved address, and returns a connection which is established first.
Parameters | protocolFactory | The protocol factory whose protocol will be connected. (type: IProtocolFactory ) |
Returns | A Deferred
that fires with the connected protocol or fails a connection-related error. |
Resolve the hostname string into a tuple containing the host address.
This is method is only used when the reactor does not provide IReactorPluggableNameResolver
.
Parameters | host | A unicode hostname to resolve. |
port | The port to include in the resolution. | |
Returns | A Deferred
that fires with _getaddrinfo 's
return value. |