b68dd2e189
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
61 lines
3.4 KiB
XML
61 lines
3.4 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="PacketPeerDTLS" inherits="PacketPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
DTLS packet peer.
|
|
</brief_description>
|
|
<description>
|
|
This class represents a DTLS peer connection. It can be used to connect to a DTLS server, and is returned by [method DTLSServer.take_connection].
|
|
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
|
|
[b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="connect_to_peer">
|
|
<return type="int" enum="Error" />
|
|
<argument index="0" name="packet_peer" type="PacketPeerUDP" />
|
|
<argument index="1" name="validate_certs" type="bool" default="true" />
|
|
<argument index="2" name="for_hostname" type="String" default="""" />
|
|
<argument index="3" name="valid_certificate" type="X509Certificate" default="null" />
|
|
<description>
|
|
Connects a [code]peer[/code] beginning the DTLS handshake using the underlying [PacketPeerUDP] which must be connected (see [method PacketPeerUDP.connect_to_host]). If [code]validate_certs[/code] is [code]true[/code], [PacketPeerDTLS] will validate that the certificate presented by the remote peer and match it with the [code]for_hostname[/code] argument. You can specify a custom [X509Certificate] to use for validation via the [code]valid_certificate[/code] argument.
|
|
</description>
|
|
</method>
|
|
<method name="disconnect_from_peer">
|
|
<return type="void" />
|
|
<description>
|
|
Disconnects this peer, terminating the DTLS session.
|
|
</description>
|
|
</method>
|
|
<method name="get_status" qualifiers="const">
|
|
<return type="int" enum="PacketPeerDTLS.Status" />
|
|
<description>
|
|
Returns the status of the connection. See [enum Status] for values.
|
|
</description>
|
|
</method>
|
|
<method name="poll">
|
|
<return type="void" />
|
|
<description>
|
|
Poll the connection to check for incoming packets. Call this frequently to update the status and keep the connection working.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
<constant name="STATUS_DISCONNECTED" value="0" enum="Status">
|
|
A status representing a [PacketPeerDTLS] that is disconnected.
|
|
</constant>
|
|
<constant name="STATUS_HANDSHAKING" value="1" enum="Status">
|
|
A status representing a [PacketPeerDTLS] that is currently performing the handshake with a remote peer.
|
|
</constant>
|
|
<constant name="STATUS_CONNECTED" value="2" enum="Status">
|
|
A status representing a [PacketPeerDTLS] that is connected to a remote peer.
|
|
</constant>
|
|
<constant name="STATUS_ERROR" value="3" enum="Status">
|
|
A status representing a [PacketPeerDTLS] in a generic error state.
|
|
</constant>
|
|
<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="4" enum="Status">
|
|
An error status that shows a mismatch in the DTLS certificate domain presented by the host and the domain requested for validation.
|
|
</constant>
|
|
</constants>
|
|
</class>
|