Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.1.1 & Your IP : 18.116.80.77
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
twisted /
internet /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-11-28 06:59
iocpreactor
[ DIR ]
drwxr-xr-x
2024-11-28 06:59
test
[ DIR ]
drwxr-xr-x
2024-11-28 06:59
__init__.py
521
B
-rw-r--r--
2022-02-07 13:12
_baseprocess.py
1.96
KB
-rw-r--r--
2022-02-07 13:12
_dumbwin32proc.py
12.48
KB
-rw-r--r--
2022-02-07 13:12
_glibbase.py
12.41
KB
-rw-r--r--
2022-02-07 13:12
_idna.py
1.39
KB
-rw-r--r--
2022-02-07 13:12
_newtls.py
8.94
KB
-rw-r--r--
2022-02-07 13:12
_pollingfile.py
8.58
KB
-rw-r--r--
2022-02-07 13:12
_posixserialport.py
2.03
KB
-rw-r--r--
2022-02-07 13:12
_posixstdio.py
4.88
KB
-rw-r--r--
2022-02-07 13:12
_producer_helpers.py
3.82
KB
-rw-r--r--
2022-02-07 13:12
_resolver.py
8.27
KB
-rw-r--r--
2022-02-07 13:12
_signals.py
2.61
KB
-rw-r--r--
2022-02-07 13:12
_sslverify.py
71.09
KB
-rw-r--r--
2022-02-07 13:12
_threadedselect.py
11.31
KB
-rw-r--r--
2022-02-07 13:12
_win32serialport.py
4.8
KB
-rw-r--r--
2022-02-07 13:12
_win32stdio.py
3.07
KB
-rw-r--r--
2022-02-07 13:12
abstract.py
18.84
KB
-rw-r--r--
2022-02-07 13:12
address.py
5.12
KB
-rw-r--r--
2024-11-22 17:49
asyncioreactor.py
10.87
KB
-rw-r--r--
2022-02-07 13:12
base.py
46.28
KB
-rw-r--r--
2022-02-07 13:12
cfreactor.py
17.09
KB
-rw-r--r--
2022-02-07 13:12
default.py
1.85
KB
-rw-r--r--
2022-02-07 13:12
defer.py
83.65
KB
-rw-r--r--
2024-11-22 17:49
endpoints.py
75.63
KB
-rw-r--r--
2022-02-07 13:12
epollreactor.py
8.73
KB
-rw-r--r--
2022-02-07 13:12
error.py
13.17
KB
-rw-r--r--
2022-02-07 13:12
fdesc.py
3.16
KB
-rw-r--r--
2022-02-07 13:12
gireactor.py
4.51
KB
-rw-r--r--
2022-02-07 13:12
glib2reactor.py
1.09
KB
-rw-r--r--
2022-02-07 13:12
gtk2reactor.py
3.55
KB
-rw-r--r--
2022-02-07 13:12
gtk3reactor.py
1.49
KB
-rw-r--r--
2022-02-07 13:12
inotify.py
14.06
KB
-rw-r--r--
2022-02-07 13:12
interfaces.py
95.75
KB
-rw-r--r--
2022-02-07 13:12
kqreactor.py
10.56
KB
-rw-r--r--
2022-02-07 13:12
main.py
1006
B
-rw-r--r--
2022-02-07 13:12
pollreactor.py
5.83
KB
-rw-r--r--
2022-02-07 13:12
posixbase.py
26.96
KB
-rw-r--r--
2022-02-07 13:12
process.py
37.61
KB
-rw-r--r--
2022-02-07 13:12
protocol.py
26.75
KB
-rw-r--r--
2022-02-07 13:12
pyuisupport.py
843
B
-rw-r--r--
2022-02-07 13:12
reactor.py
1.77
KB
-rw-r--r--
2022-02-07 13:12
selectreactor.py
5.96
KB
-rw-r--r--
2022-02-07 13:12
serialport.py
2.22
KB
-rw-r--r--
2022-02-07 13:12
ssl.py
8.44
KB
-rw-r--r--
2022-02-07 13:12
stdio.py
1000
B
-rw-r--r--
2022-02-07 13:12
task.py
32.82
KB
-rw-r--r--
2022-02-07 13:12
tcp.py
53.69
KB
-rw-r--r--
2024-11-22 17:49
testing.py
28.55
KB
-rw-r--r--
2022-02-07 13:12
threads.py
3.72
KB
-rw-r--r--
2022-02-07 13:12
tksupport.py
1.92
KB
-rw-r--r--
2022-02-07 13:12
udp.py
18.18
KB
-rw-r--r--
2022-02-07 13:12
unix.py
21.98
KB
-rw-r--r--
2022-02-07 13:12
utils.py
8.48
KB
-rw-r--r--
2022-02-07 13:12
win32eventreactor.py
14.91
KB
-rw-r--r--
2022-02-07 13:12
wxreactor.py
5.19
KB
-rw-r--r--
2022-02-07 13:12
wxsupport.py
1.27
KB
-rw-r--r--
2022-02-07 13:12
Save
Rename
# -*- test-case-name: twisted.test.test_producer_helpers -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Helpers for working with producers. """ from typing import List from zope.interface import implementer from twisted.internet.interfaces import IPushProducer from twisted.internet.task import cooperate from twisted.python import log from twisted.python.reflect import safe_str # This module exports nothing public, it's for internal Twisted use only. __all__: List[str] = [] @implementer(IPushProducer) class _PullToPush: """ An adapter that converts a non-streaming to a streaming producer. Because of limitations of the producer API, this adapter requires the cooperation of the consumer. When the consumer's C{registerProducer} is called with a non-streaming producer, it must wrap it with L{_PullToPush} and then call C{startStreaming} on the resulting object. When the consumer's C{unregisterProducer} is called, it must call C{stopStreaming} on the L{_PullToPush} instance. If the underlying producer throws an exception from C{resumeProducing}, the producer will be unregistered from the consumer. @ivar _producer: the underling non-streaming producer. @ivar _consumer: the consumer with which the underlying producer was registered. @ivar _finished: C{bool} indicating whether the producer has finished. @ivar _coopTask: the result of calling L{cooperate}, the task driving the streaming producer. """ _finished = False def __init__(self, pullProducer, consumer): self._producer = pullProducer self._consumer = consumer def _pull(self): """ A generator that calls C{resumeProducing} on the underlying producer forever. If C{resumeProducing} throws an exception, the producer is unregistered, which should result in streaming stopping. """ while True: try: self._producer.resumeProducing() except BaseException: log.err( None, "%s failed, producing will be stopped:" % (safe_str(self._producer),), ) try: self._consumer.unregisterProducer() # The consumer should now call stopStreaming() on us, # thus stopping the streaming. except BaseException: # Since the consumer blew up, we may not have had # stopStreaming() called, so we just stop on our own: log.err( None, "%s failed to unregister producer:" % (safe_str(self._consumer),), ) self._finished = True return yield None def startStreaming(self): """ This should be called by the consumer when the producer is registered. Start streaming data to the consumer. """ self._coopTask = cooperate(self._pull()) def stopStreaming(self): """ This should be called by the consumer when the producer is unregistered. Stop streaming data to the consumer. """ if self._finished: return self._finished = True self._coopTask.stop() def pauseProducing(self): """ @see: C{IPushProducer.pauseProducing} """ self._coopTask.pause() def resumeProducing(self): """ @see: C{IPushProducer.resumeProducing} """ self._coopTask.resume() def stopProducing(self): """ @see: C{IPushProducer.stopProducing} """ self.stopStreaming() self._producer.stopProducing()