# ``twisted`.`internet`.`interfaces`.`IStreamClientEndpointStringParserWithReactor``

interface documentation

`class IStreamClientEndpointStringParserWithReactor(Interface): (source)`

Known implementations: `twisted.internet.endpoints._TLSClientEndpointParser`

View In Hierarchy

An `IStreamClientEndpointStringParserWithReactor` is a parser which can convert a set of string `*args` and `**kwargs` into an `IStreamClientEndpoint` provider.

This interface is really only useful in the context of the plugin system for `endpoints.clientFromString`. See the document entitled "The Twisted Plugin System" for more details on how to write a plugin.

If you place an `IStreamClientEndpointStringParserWithReactor` plugin in the `twisted.plugins` package, that plugin's `parseStreamClient` method will be used to produce endpoints for any description string that begins with the result of that `IStreamClientEndpointStringParserWithReactor`'s prefix attribute.

Method | `parseStreamClient` | This method is invoked by `endpoints.clientFromString`, if the type of endpoint matches the return value from this `IStreamClientEndpointStringParserWithReactor`'s `prefix` method.
Attribute | `prefix` | No summary

def parseStreamClient(reactor, *args, **kwargs): (source)
This method is invoked by `endpoints.clientFromString`, if the type of endpoint matches the return value from this `IStreamClientEndpointStringParserWithReactor`'s `prefix` method.

Parameters
reactor:`IReactorCore` | The reactor passed to `endpoints.clientFromString`.
*args:`object` | The byte string arguments, minus the endpoint type, in the endpoint description string, parsed according to the rules described in `endpoints.quoteStringArgument`. For example, if the description were `b"my-type:foo:bar:baz=qux"`, `args` would be `(b'foo', b'bar')`
**kwargs:`object` | The byte string arguments from the endpoint description passed as keyword arguments. For example, if the description were `b"my-type:foo:bar:baz=qux"`, `kwargs` would be `dict(baz=b'qux')`.
Returns
`IStreamClientEndpoint` | a client endpoint

prefix = (source)
`bytes`, the description prefix to respond to. For example, an `IStreamClientEndpointStringParserWithReactor` plugin which had `b"foo"` for its `prefix` attribute would be called for endpoint descriptions like `b"foo:bar:baz"` or `b"foo:"`.