Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
866ca88f
Kaydet (Commit)
866ca88f
authored
Şub 12, 2015
tarafından
Victor Stinner
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
Merge 3.4 (asyncio doc)
üst
cf40a9e6
bdd574d0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
72 additions
and
42 deletions
+72
-42
asyncio-eventloop.rst
Doc/library/asyncio-eventloop.rst
+17
-15
asyncio-stream.rst
Doc/library/asyncio-stream.rst
+8
-8
asyncio-subprocess.rst
Doc/library/asyncio-subprocess.rst
+6
-6
asyncio-sync.rst
Doc/library/asyncio-sync.rst
+10
-10
asyncio-task.rst
Doc/library/asyncio-task.rst
+5
-3
pyspecific.py
Doc/tools/extensions/pyspecific.py
+26
-0
No files found.
Doc/library/asyncio-eventloop.rst
Dosyayı görüntüle @
866ca88f
...
...
@@ -180,7 +180,7 @@ Coroutines
Creating connections
--------------------
.. method:: BaseEventLoop.create_connection(protocol_factory, host=None, port=None, \*, ssl=None, family=0, proto=0, flags=0, sock=None, local_addr=None, server_hostname=None)
..
coroutine
method:: BaseEventLoop.create_connection(protocol_factory, host=None, port=None, \*, ssl=None, family=0, proto=0, flags=0, sock=None, local_addr=None, server_hostname=None)
Create a streaming transport connection to a given Internet *host* and
*port*: socket family :py:data:`~socket.AF_INET` or
...
...
@@ -253,7 +253,7 @@ Creating connections
(:class:`StreamReader`, :class:`StreamWriter`) instead of a protocol.
.. method:: BaseEventLoop.create_datagram_endpoint(protocol_factory, local_addr=None, remote_addr=None, \*, family=0, proto=0, flags=0)
..
coroutine
method:: BaseEventLoop.create_datagram_endpoint(protocol_factory, local_addr=None, remote_addr=None, \*, family=0, proto=0, flags=0)
Create datagram connection: socket family :py:data:`~socket.AF_INET` or
:py:data:`~socket.AF_INET6` depending on *host* (or *family* if specified),
...
...
@@ -271,7 +271,7 @@ Creating connections
:ref:`UDP echo server protocol <asyncio-udp-echo-server-protocol>` examples.
.. method:: BaseEventLoop.create_unix_connection(protocol_factory, path, \*, ssl=None, sock=None, server_hostname=None)
..
coroutine
method:: BaseEventLoop.create_unix_connection(protocol_factory, path, \*, ssl=None, sock=None, server_hostname=None)
Create UNIX connection: socket family :py:data:`~socket.AF_UNIX`, socket
type :py:data:`~socket.SOCK_STREAM`. The :py:data:`~socket.AF_UNIX` socket
...
...
@@ -290,7 +290,7 @@ Creating connections
Creating listening connections
------------------------------
.. method:: BaseEventLoop.create_server(protocol_factory, host=None, port=None, \*, family=socket.AF_UNSPEC, flags=socket.AI_PASSIVE, sock=None, backlog=100, ssl=None, reuse_address=None)
..
coroutine
method:: BaseEventLoop.create_server(protocol_factory, host=None, port=None, \*, family=socket.AF_UNSPEC, flags=socket.AI_PASSIVE, sock=None, backlog=100, ssl=None, reuse_address=None)
Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) bound to
*host* and *port*.
...
...
@@ -336,11 +336,13 @@ Creating listening connections
:class:`StreamWriter`) pair and calls back a function with this pair.
.. method:: BaseEventLoop.create_unix_server(protocol_factory, path=None, \*, sock=None, backlog=100, ssl=None)
..
coroutine
method:: BaseEventLoop.create_unix_server(protocol_factory, path=None, \*, sock=None, backlog=100, ssl=None)
Similar to :meth:`BaseEventLoop.create_server`, but specific to the
socket family :py:data:`~socket.AF_UNIX`.
This method is a :ref:`coroutine <coroutine>`.
Availability: UNIX.
...
...
@@ -384,7 +386,7 @@ the file descriptor of a socket.
Low-level socket operations
---------------------------
.. method:: BaseEventLoop.sock_recv(sock, nbytes)
..
coroutine
method:: BaseEventLoop.sock_recv(sock, nbytes)
Receive data from the socket. The return value is a bytes object
representing the data received. The maximum amount of data to be received
...
...
@@ -399,7 +401,7 @@ Low-level socket operations
The :meth:`socket.socket.recv` method.
.. method:: BaseEventLoop.sock_sendall(sock, data)
..
coroutine
method:: BaseEventLoop.sock_sendall(sock, data)
Send data to the socket. The socket must be connected to a remote socket.
This method continues to send data from *data* until either all data has
...
...
@@ -416,7 +418,7 @@ Low-level socket operations
The :meth:`socket.socket.sendall` method.
.. method:: BaseEventLoop.sock_connect(sock, address)
..
coroutine
method:: BaseEventLoop.sock_connect(sock, address)
Connect to a remote socket at *address*.
...
...
@@ -438,7 +440,7 @@ Low-level socket operations
method.
.. method:: BaseEventLoop.sock_accept(sock)
..
coroutine
method:: BaseEventLoop.sock_accept(sock)
Accept a connection. The socket must be bound to an address and listening
for connections. The return value is a pair ``(conn, address)`` where *conn*
...
...
@@ -459,12 +461,12 @@ Low-level socket operations
Resolve host name
-----------------
.. method:: BaseEventLoop.getaddrinfo(host, port, \*, family=0, type=0, proto=0, flags=0)
..
coroutine
method:: BaseEventLoop.getaddrinfo(host, port, \*, family=0, type=0, proto=0, flags=0)
This method is a :ref:`coroutine <coroutine>`, similar to
:meth:`socket.getaddrinfo` function but non-blocking.
.. method:: BaseEventLoop.getnameinfo(sockaddr, flags=0)
..
coroutine
method:: BaseEventLoop.getnameinfo(sockaddr, flags=0)
This method is a :ref:`coroutine <coroutine>`, similar to
:meth:`socket.getnameinfo` function but non-blocking.
...
...
@@ -476,7 +478,7 @@ Connect pipes
On Windows with :class:`SelectorEventLoop`, these methods are not supported.
Use :class:`ProactorEventLoop` to support pipes on Windows.
.. method:: BaseEventLoop.connect_read_pipe(protocol_factory, pipe)
..
coroutine
method:: BaseEventLoop.connect_read_pipe(protocol_factory, pipe)
Register read pipe in eventloop.
...
...
@@ -490,7 +492,7 @@ Use :class:`ProactorEventLoop` to support pipes on Windows.
This method is a :ref:`coroutine <coroutine>`.
.. method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe)
..
coroutine
method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe)
Register write pipe in eventloop.
...
...
@@ -543,7 +545,7 @@ Call a function in an :class:`~concurrent.futures.Executor` (pool of threads or
pool of processes). By default, an event loop uses a thread pool executor
(:class:`~concurrent.futures.ThreadPoolExecutor`).
.. method:: BaseEventLoop.run_in_executor(executor, callback, \*args)
..
coroutine
method:: BaseEventLoop.run_in_executor(executor, callback, \*args)
Arrange for a callback to be called in the specified executor.
...
...
@@ -654,7 +656,7 @@ Server
The server is closed asynchonously, use the :meth:`wait_closed` coroutine
to wait until the server is closed.
.. method:: wait_closed()
..
coroutine
method:: wait_closed()
Wait until the :meth:`close` method completes.
...
...
Doc/library/asyncio-stream.rst
Dosyayı görüntüle @
866ca88f
...
...
@@ -9,7 +9,7 @@ Streams (high-level API)
Stream functions
================
..
function:: open_connection(host=None, port=None, \*, loop=None, limit=None, *
*kwds)
..
coroutinefunction:: open_connection(host=None, port=None, \*, loop=None, limit=None, \*\
*kwds)
A wrapper for :meth:`~BaseEventLoop.create_connection()` returning a (reader,
writer) pair.
...
...
@@ -32,7 +32,7 @@ Stream functions
This function is a :ref:`coroutine <coroutine>`.
..
function:: start_server(client_connected_cb, host=None, port=None, \*, loop=None, limit=None, *
*kwds)
..
coroutinefunction:: start_server(client_connected_cb, host=None, port=None, \*, loop=None, limit=None, \*\
*kwds)
Start a socket server, with a callback for each client connected. The return
value is the same as :meth:`~BaseEventLoop.create_server()`.
...
...
@@ -56,7 +56,7 @@ Stream functions
This function is a :ref:`coroutine <coroutine>`.
.. function:: open_unix_connection(path=None, \*, loop=None, limit=None, **kwds)
..
coroutine
function:: open_unix_connection(path=None, \*, loop=None, limit=None, **kwds)
A wrapper for :meth:`~BaseEventLoop.create_unix_connection()` returning
a (reader, writer) pair.
...
...
@@ -68,7 +68,7 @@ Stream functions
Availability: UNIX.
.. function:: start_unix_server(client_connected_cb, path=None, \*, loop=None, limit=None, **kwds)
..
coroutine
function:: start_unix_server(client_connected_cb, path=None, \*, loop=None, limit=None, **kwds)
Start a UNIX Domain Socket server, with a callback for each client connected.
...
...
@@ -106,7 +106,7 @@ StreamReader
Set the transport.
.. method:: read(n=-1)
..
coroutine
method:: read(n=-1)
Read up to *n* bytes. If *n* is not provided, or set to ``-1``,
read until EOF and return all read bytes.
...
...
@@ -116,7 +116,7 @@ StreamReader
This method is a :ref:`coroutine <coroutine>`.
.. method:: readline()
..
coroutine
method:: readline()
Read one line, where "line" is a sequence of bytes ending with ``\n``.
...
...
@@ -128,7 +128,7 @@ StreamReader
This method is a :ref:`coroutine <coroutine>`.
.. method:: readexactly(n)
..
coroutine
method:: readexactly(n)
Read exactly *n* bytes. Raise an :exc:`IncompleteReadError` if the end of
the stream is reached before *n* can be read, the
...
...
@@ -168,7 +168,7 @@ StreamWriter
Close the transport: see :meth:`BaseTransport.close`.
.. method:: drain()
..
coroutine
method:: drain()
Let the write buffer of the underlying transport a chance to be flushed.
...
...
Doc/library/asyncio-subprocess.rst
Dosyayı görüntüle @
866ca88f
...
...
@@ -27,7 +27,7 @@ Example to use it on Windows::
Create a subprocess: high-level API using Process
-------------------------------------------------
.. function:: create_subprocess_exec(\*args, stdin=None, stdout=None, stderr=None, loop=None, limit=None, \*\*kwds)
..
coroutine
function:: create_subprocess_exec(\*args, stdin=None, stdout=None, stderr=None, loop=None, limit=None, \*\*kwds)
Create a subprocess.
...
...
@@ -39,7 +39,7 @@ Create a subprocess: high-level API using Process
This function is a :ref:`coroutine <coroutine>`.
.. function:: create_subprocess_shell(cmd, stdin=None, stdout=None, stderr=None, loop=None, limit=None, \*\*kwds)
..
coroutine
function:: create_subprocess_shell(cmd, stdin=None, stdout=None, stderr=None, loop=None, limit=None, \*\*kwds)
Run the shell command *cmd*.
...
...
@@ -67,7 +67,7 @@ Create a subprocess: low-level API using subprocess.Popen
Run subprocesses asynchronously using the :mod:`subprocess` module.
.. method:: BaseEventLoop.subprocess_exec(protocol_factory, \*args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, \*\*kwargs)
..
coroutine
method:: BaseEventLoop.subprocess_exec(protocol_factory, \*args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, \*\*kwargs)
Create a subprocess from one or more string arguments (character strings or
bytes strings encoded to the :ref:`filesystem encoding
...
...
@@ -116,7 +116,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module.
See the constructor of the :class:`subprocess.Popen` class for parameters.
.. method:: BaseEventLoop.subprocess_shell(protocol_factory, cmd, \*, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, \*\*kwargs)
..
coroutine
method:: BaseEventLoop.subprocess_shell(protocol_factory, cmd, \*, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, \*\*kwargs)
Create a subprocess from *cmd*, which is a character string or a bytes
string encoded to the :ref:`filesystem encoding <filesystem-encoding>`,
...
...
@@ -193,7 +193,7 @@ Process
:meth:`~subprocess.Popen.wait` method of the :class:`~subprocess.Popen`
class is implemented as a busy loop.
.. method:: wait()
..
coroutine
method:: wait()
Wait for child process to terminate. Set and return :attr:`returncode`
attribute.
...
...
@@ -207,7 +207,7 @@ Process
blocks waiting for the OS pipe buffer to accept more data. Use the
:meth:`communicate` method when using pipes to avoid that.
.. method:: communicate(input=None)
..
coroutine
method:: communicate(input=None)
Interact with process: Send data to stdin. Read data from stdout and
stderr, until end-of-file is reached. Wait for process to terminate.
...
...
Doc/library/asyncio-sync.rst
Dosyayı görüntüle @
866ca88f
...
...
@@ -89,7 +89,7 @@ Lock
Return ``True`` if the lock is acquired.
.. method:: acquire()
..
coroutine
method:: acquire()
Acquire a lock.
...
...
@@ -139,7 +139,7 @@ Event
true are awakened. Coroutine that call :meth:`wait` once the flag is true
will not block at all.
.. method:: wait()
..
coroutine
method:: wait()
Block until the internal flag is true.
...
...
@@ -166,7 +166,7 @@ Condition
object, and it is used as the underlying lock. Otherwise,
a new :class:`Lock` object is created and used as the underlying lock.
.. method:: acquire()
..
coroutine
method:: acquire()
Acquire the underlying lock.
...
...
@@ -213,7 +213,7 @@ Condition
There is no return value.
.. method:: wait()
..
coroutine
method:: wait()
Wait until notified.
...
...
@@ -227,7 +227,7 @@ Condition
This method is a :ref:`coroutine <coroutine>`.
.. method:: wait_for(predicate)
..
coroutine
method:: wait_for(predicate)
Wait until a predicate becomes true.
...
...
@@ -258,7 +258,7 @@ Semaphore
defaults to ``1``. If the value given is less than ``0``, :exc:`ValueError`
is raised.
.. method:: acquire()
..
coroutine
method:: acquire()
Acquire a semaphore.
...
...
@@ -273,7 +273,7 @@ Semaphore
Returns ``True`` if semaphore can not be acquired immediately.
.. method:: release()
..
coroutine
method:: release()
Release a semaphore, incrementing the internal counter by one. When it
was zero on entry and another coroutine is waiting for it to become
...
...
@@ -323,7 +323,7 @@ Queue
If the Queue was initialized with ``maxsize=0`` (the default), then
:meth:`full()` is never ``True``.
.. method:: get()
..
coroutine
method:: get()
Remove and return an item from the queue. If queue is empty, wait until
an item is available.
...
...
@@ -341,7 +341,7 @@ Queue
Return an item if one is immediately available, else raise
:exc:`QueueEmpty`.
.. method:: put(item)
..
coroutine
method:: put(item)
Put an item into the queue. If the queue is full, wait until a free slot
is available before adding item.
...
...
@@ -395,7 +395,7 @@ JoinableQueue
A subclass of :class:`Queue` with :meth:`task_done` and :meth:`join`
methods.
.. method:: join()
..
coroutine
method:: join()
Block until all items in the queue have been gotten and processed.
...
...
Doc/library/asyncio-task.rst
Dosyayı görüntüle @
866ca88f
...
...
@@ -545,7 +545,7 @@ Task functions
Return ``True`` if *func* is a decorated :ref:`coroutine function
<coroutine>`.
.. function:: sleep(delay, result=None, \*, loop=None)
..
coroutine
function:: sleep(delay, result=None, \*, loop=None)
Create a :ref:`coroutine <coroutine>` that completes after a given
time (in seconds). If *result* is provided, it is produced to the caller
...
...
@@ -554,6 +554,8 @@ Task functions
The resolution of the sleep depends on the :ref:`granularity of the event
loop <asyncio-delayed-calls>`.
This function is a :ref:`coroutine <coroutine>`.
.. function:: shield(arg, \*, loop=None)
Wait for a future, shielding it from cancellation.
...
...
@@ -581,7 +583,7 @@ Task functions
except CancelledError:
res = None
.. function:: wait(futures, \*, loop=None, timeout=None, return_when=ALL_COMPLETED)
..
coroutine
function:: wait(futures, \*, loop=None, timeout=None, return_when=ALL_COMPLETED)
Wait for the Futures and coroutine objects given by the sequence *futures*
to complete. Coroutines will be wrapped in Tasks. Returns two sets of
...
...
@@ -626,7 +628,7 @@ Task functions
when the timeout occurs are returned in the second set.
.. function:: wait_for(fut, timeout, \*, loop=None)
..
coroutine
function:: wait_for(fut, timeout, \*, loop=None)
Wait for the single :class:`Future` or :ref:`coroutine object <coroutine>`
to complete with timeout. If *timeout* is ``None``, block until the future
...
...
Doc/tools/extensions/pyspecific.py
Dosyayı görüntüle @
866ca88f
...
...
@@ -145,6 +145,30 @@ class PyDecoratorMethod(PyDecoratorMixin, PyClassmember):
return
PyClassmember
.
run
(
self
)
class
PyCoroutineMixin
(
object
):
def
handle_signature
(
self
,
sig
,
signode
):
ret
=
super
(
PyCoroutineMixin
,
self
)
.
handle_signature
(
sig
,
signode
)
# signode.insert(0, addnodes.desc_addname('coroutine ', 'coroutine '))
signode
.
insert
(
0
,
addnodes
.
desc_annotation
(
'coroutine '
,
'coroutine '
))
return
ret
def
needs_arglist
(
self
):
return
False
class
PyCoroutineFunction
(
PyCoroutineMixin
,
PyModulelevel
):
def
run
(
self
):
# a decorator function is a function after all
self
.
name
=
'py:function'
return
PyModulelevel
.
run
(
self
)
class
PyCoroutineMethod
(
PyCoroutineMixin
,
PyClassmember
):
def
run
(
self
):
self
.
name
=
'py:method'
return
PyClassmember
.
run
(
self
)
# Support for documenting version of removal in deprecations
class
DeprecatedRemoved
(
Directive
):
...
...
@@ -347,5 +371,7 @@ def setup(app):
app
.
add_description_unit
(
'2to3fixer'
,
'2to3fixer'
,
'
%
s (2to3 fixer)'
)
app
.
add_directive_to_domain
(
'py'
,
'decorator'
,
PyDecoratorFunction
)
app
.
add_directive_to_domain
(
'py'
,
'decoratormethod'
,
PyDecoratorMethod
)
app
.
add_directive_to_domain
(
'py'
,
'coroutinefunction'
,
PyCoroutineFunction
)
app
.
add_directive_to_domain
(
'py'
,
'coroutinemethod'
,
PyCoroutineMethod
)
app
.
add_directive
(
'miscnews'
,
MiscNews
)
return
{
'version'
:
'1.0'
,
'parallel_read_safe'
:
True
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment