Skip to content

Commit dc38c53

Browse files
More tests
1 parent 6bc3774 commit dc38c53

File tree

3 files changed

+372
-35
lines changed

3 files changed

+372
-35
lines changed

objc_asyncio/_sockets.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
_SelectorDatagramTransport as PyObjCDatagramTransport,
2222
)
2323
from asyncio.selector_events import _SelectorSocketTransport as PyObjCSocketTransport
24+
from asyncio.sslproto import SSLProtocol # XXX
2425

2526
from Cocoa import (
2627
CFFileDescriptorCreate,
@@ -545,6 +546,31 @@ async def _create_connection_transport(
545546

546547
return transport, protocol
547548

549+
def _make_ssl_transport(
550+
self,
551+
rawsock,
552+
protocol,
553+
sslcontext,
554+
waiter=None,
555+
*,
556+
server_side=False,
557+
server_hostname=None,
558+
extra=None,
559+
server=None,
560+
ssl_handshake_timeout=SSL_HANDSHAKE_TIMEOUT,
561+
):
562+
ssl_protocol = SSLProtocol(
563+
self,
564+
protocol,
565+
sslcontext,
566+
waiter,
567+
server_side,
568+
server_hostname,
569+
ssl_handshake_timeout=ssl_handshake_timeout,
570+
)
571+
PyObjCSocketTransport(self, rawsock, ssl_protocol, extra=extra, server=server)
572+
return ssl_protocol._app_transport
573+
548574
async def sendfile(self, transport, file, offset=0, count=None, *, fallback=True):
549575
"""Send a file to transport.
550576
@@ -699,7 +725,7 @@ async def create_datagram_endpoint(
699725
"""Create datagram connection."""
700726
if sock is not None:
701727
if sock.type != socket.SOCK_DGRAM:
702-
raise ValueError(f"A UDP Socket was expected, got {sock!r}")
728+
raise ValueError(f"a datagram socket was expected, got {sock!r}")
703729
if (
704730
local_addr
705731
or remote_addr
@@ -708,6 +734,7 @@ async def create_datagram_endpoint(
708734
or flags
709735
or reuse_port
710736
or allow_broadcast
737+
or reuse_address is not _unset
711738
):
712739
# show the problematic kwargs in exception msg
713740
opts = {

0 commit comments

Comments
 (0)