HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/twisted/internet/test/fakeendpoint.py
# -*- test-case-name: twisted.internet.test.test_endpoints -*-
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Fake client and server endpoint string parser plugins for testing purposes.
"""


from zope.interface.declarations import implementer

from twisted.internet.interfaces import (
    IStreamClientEndpoint,
    IStreamClientEndpointStringParserWithReactor,
    IStreamServerEndpoint,
    IStreamServerEndpointStringParser,
)
from twisted.plugin import IPlugin


@implementer(IPlugin)
class PluginBase:
    def __init__(self, pfx):
        self.prefix = pfx


@implementer(IStreamClientEndpointStringParserWithReactor)
class FakeClientParserWithReactor(PluginBase):
    def parseStreamClient(self, *a, **kw):
        return StreamClient(self, a, kw)


@implementer(IStreamServerEndpointStringParser)
class FakeParser(PluginBase):
    def parseStreamServer(self, *a, **kw):
        return StreamServer(self, a, kw)


class EndpointBase:
    def __init__(self, parser, args, kwargs):
        self.parser = parser
        self.args = args
        self.kwargs = kwargs


@implementer(IStreamClientEndpoint)
class StreamClient(EndpointBase):
    def connect(self, protocolFactory=None):
        # IStreamClientEndpoint.connect
        pass


@implementer(IStreamServerEndpoint)
class StreamServer(EndpointBase):
    def listen(self, protocolFactory=None):
        # IStreamClientEndpoint.listen
        pass


# Instantiate plugin interface providers to register them.
fake = FakeParser("fake")
fakeClientWithReactor = FakeClientParserWithReactor("crfake")
fakeClientWithReactorAndPreference = FakeClientParserWithReactor("cpfake")