mirror of
				https://github.com/python/cpython.git
				synced 2025-11-02 22:51:25 +00:00 
			
		
		
		
	Some of the asyncio SSL changes in GH-31275 [1] were taken from v0.16.0 of the uvloop project [2]. In order to comply with the MIT license, we need to just need to document the copyright information. [1]: https://github.com/python/cpython/pull/31275 [2]: https://github.com/MagicStack/uvloop/tree/v0.16.0
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Contains code from https://github.com/MagicStack/uvloop/tree/v0.16.0
 | 
						|
# SPDX-License-Identifier: PSF-2.0 AND (MIT OR Apache-2.0)
 | 
						|
# SPDX-FileCopyrightText: Copyright (c) 2015-2021 MagicStack Inc.  http://magic.io
 | 
						|
 | 
						|
import enum
 | 
						|
 | 
						|
# After the connection is lost, log warnings after this many write()s.
 | 
						|
LOG_THRESHOLD_FOR_CONNLOST_WRITES = 5
 | 
						|
 | 
						|
# Seconds to wait before retrying accept().
 | 
						|
ACCEPT_RETRY_DELAY = 1
 | 
						|
 | 
						|
# Number of stack entries to capture in debug mode.
 | 
						|
# The larger the number, the slower the operation in debug mode
 | 
						|
# (see extract_stack() in format_helpers.py).
 | 
						|
DEBUG_STACK_DEPTH = 10
 | 
						|
 | 
						|
# Number of seconds to wait for SSL handshake to complete
 | 
						|
# The default timeout matches that of Nginx.
 | 
						|
SSL_HANDSHAKE_TIMEOUT = 60.0
 | 
						|
 | 
						|
# Number of seconds to wait for SSL shutdown to complete
 | 
						|
# The default timeout mimics lingering_time
 | 
						|
SSL_SHUTDOWN_TIMEOUT = 30.0
 | 
						|
 | 
						|
# Used in sendfile fallback code.  We use fallback for platforms
 | 
						|
# that don't support sendfile, or for TLS connections.
 | 
						|
SENDFILE_FALLBACK_READBUFFER_SIZE = 1024 * 256
 | 
						|
 | 
						|
FLOW_CONTROL_HIGH_WATER_SSL_READ = 256  # KiB
 | 
						|
FLOW_CONTROL_HIGH_WATER_SSL_WRITE = 512  # KiB
 | 
						|
 | 
						|
# Default timeout for joining the threads in the threadpool
 | 
						|
THREAD_JOIN_TIMEOUT = 300
 | 
						|
 | 
						|
# The enum should be here to break circular dependencies between
 | 
						|
# base_events and sslproto
 | 
						|
class _SendfileMode(enum.Enum):
 | 
						|
    UNSUPPORTED = enum.auto()
 | 
						|
    TRY_NATIVE = enum.auto()
 | 
						|
    FALLBACK = enum.auto()
 |