<?xml version="1.0" encoding="UTF-8" ?>
<class name="StreamPeerSSL" inherits="StreamPeer" category="Core" version="3.1">
	<brief_description>
		SSL Stream peer.
	</brief_description>
	<description>
		SSL Stream peer. This object can be used to connect to SSL servers.
	</description>
	<tutorials>
		<link>https://docs.godotengine.org/en/latest/tutorials/networking/ssl_certificates.html</link>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="accept_stream">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="base" type="StreamPeer">
			</argument>
			<description>
			</description>
		</method>
		<method name="connect_to_stream">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="stream" type="StreamPeer">
			</argument>
			<argument index="1" name="validate_certs" type="bool" default="false">
			</argument>
			<argument index="2" name="for_hostname" type="String" default="&quot;&quot;">
			</argument>
			<description>
				Connect to a peer using an underlying [StreamPeer] "stream", when "validate_certs" is true, [code]StreamPeerSSL[/code] will validate that the certificate presented by the peer matches the "for_hostname".
			</description>
		</method>
		<method name="disconnect_from_stream">
			<return type="void">
			</return>
			<description>
				Disconnect from host.
			</description>
		</method>
		<method name="get_status" qualifiers="const">
			<return type="int" enum="StreamPeerSSL.Status">
			</return>
			<description>
				Return the status of the connection, one of STATUS_* enum.
			</description>
		</method>
		<method name="poll">
			<return type="void">
			</return>
			<description>
				Poll the connection to check for incoming bytes. Call this right before "get_available_bytes()" for it to work properly.
			</description>
		</method>
	</methods>
	<members>
		<member name="blocking_handshake" type="bool" setter="set_blocking_handshake_enabled" getter="is_blocking_handshake_enabled">
		</member>
	</members>
	<constants>
		<constant name="STATUS_DISCONNECTED" value="0" enum="Status">
			A status representing a [code]StreamPeerSSL[/code] that is disconnected.
		</constant>
		<constant name="STATUS_HANDSHAKING" value="1" enum="Status">
		</constant>
		<constant name="STATUS_CONNECTED" value="2" enum="Status">
			A status representing a [code]StreamPeerSSL[/code] that is connected to a host.
		</constant>
		<constant name="STATUS_ERROR" value="3" enum="Status">
		</constant>
		<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="4" enum="Status">
			An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
		</constant>
	</constants>
</class>