<?xml version="1.0" encoding="UTF-8" ?>
<class name="StreamPeerTCP" inherits="StreamPeer" category="Core" version="3.1">
	<brief_description>
		TCP Stream peer.
	</brief_description>
	<description>
		TCP Stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="connect_to_host">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="host" type="String">
			</argument>
			<argument index="1" name="port" type="int">
			</argument>
			<description>
				Connect to the specified host:port pair. A hostname will be resolved if valid. Returns [code]OK[/code] on success or [code]FAILED[/code] on failure.
			</description>
		</method>
		<method name="disconnect_from_host">
			<return type="void">
			</return>
			<description>
				Disconnect from host.
			</description>
		</method>
		<method name="get_connected_host" qualifiers="const">
			<return type="String">
			</return>
			<description>
				Return the IP of this peer.
			</description>
		</method>
		<method name="get_connected_port" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Return the port of this peer.
			</description>
		</method>
		<method name="get_status">
			<return type="int" enum="StreamPeerTCP.Status">
			</return>
			<description>
				Return the status of the connection, see [enum StreamPeerTCP.Status].
			</description>
		</method>
		<method name="is_connected_to_host" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Returns [code]true[/code] if this peer is currently connected to a host, [code]false[/code] otherwise.
			</description>
		</method>
		<method name="set_no_delay">
			<return type="void">
			</return>
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
				Disable Nagle algorithm to improve latency for small packets.
				Note that for applications that send large packets, or need to transfer a lot of data, this can reduce total bandwidth.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="STATUS_NONE" value="0" enum="Status">
			The initial status of the [code]StreamPeerTCP[/code], also the status after a disconnect.
		</constant>
		<constant name="STATUS_CONNECTING" value="1" enum="Status">
			A status representing a [code]StreamPeerTCP[/code] that is connecting to a host.
		</constant>
		<constant name="STATUS_CONNECTED" value="2" enum="Status">
			A status representing a [code]StreamPeerTCP[/code] that is connected to a host.
		</constant>
		<constant name="STATUS_ERROR" value="3" enum="Status">
			A status representing a [code]StreamPeerTCP[/code] in error state.
		</constant>
	</constants>
</class>