Update documentation
This commit is contained in:
@@ -132,7 +132,7 @@ ZTS_EVENT_NETWORK_DOWN
|
||||
|
||||
# Connecting and communicating with peers
|
||||
|
||||
Creating a standard socket connection generally works the same as it would using an ordinary socket interface, however with ZeroTier there is a subtle difference in how connections are established which may cause confusion. Since ZeroTier employs transport-triggered link provisioning a direct connection between peers will not exist until contact has been attempted by at least one peer. During this time before a direct link is available traffic will be handled via our free relay service. The provisioning of this direct link usually only takes a couple of seconds but it is important to understand that if you attempt something like s `zts_connect(...)` call during this time it may fail due to packet loss. Therefore it is advised to repeatedly call `zts_connect(...)` until it succeeds and to wait to send additional traffic until `ZTS_EVENT_PEER_P2P` has been received for the peer you are attempting to communicate with. All of the above is optional, but it will improve your experience.
|
||||
Creating a standard socket connection generally works the same as it would using an ordinary socket interface, however with ZeroTier there is a subtle difference in how connections are established which may cause confusion. Since ZeroTier employs transport-triggered link provisioning a direct connection between peers will not exist until contact has been attempted by at least one peer. During this time before a direct link is available traffic will be handled via our free relay service. The provisioning of this direct link usually only takes a couple of seconds but it is important to understand that if you attempt something like s `zts_connect(...)` call during this time it may fail due to packet loss. Therefore it is advised to repeatedly call `zts_connect(...)` until it succeeds and to wait to send additional traffic until `ZTS_EVENT_PEER_DIRECT` has been received for the peer you are attempting to communicate with. All of the above is optional, but it will improve your experience.
|
||||
|
||||
`tl;dr: Try a few times and wait a few seconds`
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -127,10 +127,10 @@ void myZeroTierEventCallback(void *msgPtr)
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -127,10 +127,10 @@ void myZeroTierEventCallback(void *msgPtr)
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
|
||||
@@ -40,10 +40,10 @@ import Foundation
|
||||
* root server has passed contact information to both peers that a direct connection will be
|
||||
* established. Therefore, it is required that multiple connection attempts be undertaken
|
||||
* when initially communicating with a peer. After a transport-triggered link is
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_P2P for a specific peer ID. No
|
||||
* established libzt will inform you via ZTS_EVENT_PEER_DIRECT for a specific peer ID. No
|
||||
* action is required on your part for this callback event.
|
||||
*
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_P2P has been received for a
|
||||
* Note: In these initial moments before ZTS_EVENT_PEER_DIRECT has been received for a
|
||||
* specific peer, traffic may be slow, jittery and there may be high packet loss.
|
||||
* This will subside within a couple of seconds.
|
||||
*
|
||||
@@ -200,8 +200,8 @@ let myZeroTierEventCallback : @convention(c) (UnsafeMutableRawPointer?) -> Void
|
||||
ipstr, msg.addr->nwid)
|
||||
*/
|
||||
// Peer events
|
||||
case ZTS_EVENT_PEER_P2P:
|
||||
print("ZTS_EVENT_PEER_P2P --- node=%llx\n", msg.peer->address)
|
||||
case ZTS_EVENT_PEER_DIRECT:
|
||||
print("ZTS_EVENT_PEER_DIRECT --- node=%llx\n", msg.peer->address)
|
||||
case ZTS_EVENT_PEER_RELAY:
|
||||
print("ZTS_EVENT_PEER_RELAY --- node=%llx\n", msg.peer->address)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user