2121 _SelectorDatagramTransport as PyObjCDatagramTransport ,
2222)
2323from asyncio .selector_events import _SelectorSocketTransport as PyObjCSocketTransport
24+ from asyncio .sslproto import SSLProtocol # XXX
2425
2526from 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