You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

122 lines
2.9 KiB

  1. cdef enum SSLProtocolState:
  2. UNWRAPPED = 0
  3. DO_HANDSHAKE = 1
  4. WRAPPED = 2
  5. FLUSHING = 3
  6. SHUTDOWN = 4
  7. cdef class _SSLProtocolTransport:
  8. cdef:
  9. object _loop
  10. SSLProtocol _ssl_protocol
  11. bint _closed
  12. cdef class SSLProtocol:
  13. cdef:
  14. bint _server_side
  15. str _server_hostname
  16. object _sslcontext
  17. object _extra
  18. object _write_backlog
  19. size_t _write_buffer_size
  20. object _waiter
  21. object _loop
  22. _SSLProtocolTransport _app_transport
  23. bint _app_transport_created
  24. object _transport
  25. bint _call_connection_made
  26. object _ssl_handshake_timeout
  27. object _ssl_shutdown_timeout
  28. object _sslobj
  29. object _sslobj_read
  30. object _sslobj_write
  31. object _incoming
  32. object _incoming_write
  33. object _outgoing
  34. object _outgoing_read
  35. char* _ssl_buffer
  36. size_t _ssl_buffer_len
  37. object _ssl_buffer_view
  38. SSLProtocolState _state
  39. size_t _conn_lost
  40. bint _eof_received
  41. bint _ssl_writing_paused
  42. bint _app_reading_paused
  43. size_t _incoming_high_water
  44. size_t _incoming_low_water
  45. bint _ssl_reading_paused
  46. bint _app_writing_paused
  47. size_t _outgoing_high_water
  48. size_t _outgoing_low_water
  49. object _app_protocol
  50. bint _app_protocol_is_buffer
  51. object _app_protocol_get_buffer
  52. object _app_protocol_buffer_updated
  53. object _handshake_start_time
  54. object _handshake_timeout_handle
  55. object _shutdown_timeout_handle
  56. cdef _set_app_protocol(self, app_protocol)
  57. cdef _wakeup_waiter(self, exc=*)
  58. cdef _get_extra_info(self, name, default=*)
  59. cdef _set_state(self, SSLProtocolState new_state)
  60. # Handshake flow
  61. cdef _start_handshake(self)
  62. cdef _check_handshake_timeout(self)
  63. cdef _do_handshake(self)
  64. cdef _on_handshake_complete(self, handshake_exc)
  65. # Shutdown flow
  66. cdef _start_shutdown(self)
  67. cdef _check_shutdown_timeout(self)
  68. cdef _do_flush(self)
  69. cdef _do_shutdown(self)
  70. cdef _on_shutdown_complete(self, shutdown_exc)
  71. cdef _abort(self, exc)
  72. # Outgoing flow
  73. cdef _write_appdata(self, list_of_data)
  74. cdef _do_write(self)
  75. cdef _process_outgoing(self)
  76. # Incoming flow
  77. cdef _do_read(self)
  78. cdef _do_read__buffered(self)
  79. cdef _do_read__copied(self)
  80. cdef _call_eof_received(self)
  81. # Flow control for writes from APP socket
  82. cdef _control_app_writing(self)
  83. cdef size_t _get_write_buffer_size(self)
  84. cdef _set_write_buffer_limits(self, high=*, low=*)
  85. # Flow control for reads to APP socket
  86. cdef _pause_reading(self)
  87. cdef _resume_reading(self)
  88. # Flow control for reads from SSL socket
  89. cdef _control_ssl_reading(self)
  90. cdef _set_read_buffer_limits(self, high=*, low=*)
  91. cdef size_t _get_read_buffer_size(self)
  92. cdef _fatal_error(self, exc, message=*)