Build Information
Successful build of swift-libp2p, reference 0.5.0 (0851ac), with Swift 6.4 for macOS (SPM) on 27 Sep 2026 21:59:07 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/1amageek/swift-libp2p.git
Reference: 0.5.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/1amageek/swift-libp2p
* tag 0.5.0 -> FETCH_HEAD
HEAD is now at 0851ac2 Complete QUIC interop release gates
Cloned https://github.com/1amageek/swift-libp2p.git
Revision (git rev-parse @):
0851ac2356a5d31fe07a10f93ff4188bb3c3d357
SUCCESS checkout https://github.com/1amageek/swift-libp2p.git at 0.5.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/1amageek/swift-libp2p.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Provisioning 2 / 190]
[Constructing description]
[Pre-planning 1 / 4408]
[Planning 1 / 4408]
[Planning 2181 / 4408]
[Planning 3278 / 4408]
[Planning 4304 / 4408]
[Planning deferred tasks]
[Constructing 40 / 9293]
[Constructing 4310 / 9293]
[Starting]
[57 / 1534] SpanPreview
[313 / 1534] P2PPing
[568 / 1534] NIO
[680 / 1534] swift-nio_NIOPosix
[682 / 1534]
[695 / 1546] SWIMWire
[702 / 1565] InternalCollectionsUtilities
[706 / 1592]
[715 / 1647] InternalCollectionsUtilities
[725 / 1707]
[758 / 1707] _NIOBase64
[778 / 1707] CNIOLinux
[798 / 1707]
[811 / 1707]
[828 / 1707] _AtomicsShims
[835 / 1707]
[846 / 1707] SWIMWire-product
[849 / 1707] SWIMWire
[853 / 1707] SWIM
[861 / 1707] SSLCryptoContracts
[869 / 1707] P2PTestSupport
[876 / 1707] NetworkingWASI
[889 / 1707] _NIODataStructures
[914 / 1707] NetworkingTime
[922 / 1707] Logging
[929 / 1707] Logging
[937 / 1707] Logging
[944 / 1707] InternalCollectionsUtilities
[948 / 1707] Logging
[959 / 1707] CNIOFreeBSD
[969 / 1709]
[975 / 1722] DNSWire
[986 / 1722]
[993 / 1722] P2PTestSupport
[1003 / 1726]
[1014 / 1750] SpanPreview
[1028 / 1750] TLSWireCore
[1029 / 1750] TLSWireCore
[1042 / 1779]
[1048 / 1779] TLSTypes-product
[1055 / 1779] SpanPreview
[1071 / 1785] NetworkingFoundationCompat
[1080 / 1822] DTLSRecordCore
[1092 / 1838] SSLCore
[1114 / 1838] SSLCore-product
[1128 / 1849]
[1134 / 1849]
[1140 / 1849] QUICWire
[1144 / 1849] QUICWire
[1149 / 1849] NetworkingWASI-product
[1152 / 1849] NetworkingPOSIX
[1158 / 1849]
[1164 / 1849] DequeModule
[1168 / 1849] QUICWire
[1178 / 1849] DequeModule
[1181 / 1849] SWIM
[1183 / 1849] SWIM
[1198 / 1849] SWIM
[1203 / 1849] NetworkingFoundationCompat
[1206 / 1849] DequeModule-product
[1208 / 1849] NIOCore
[1212 / 1850] SSLCore
[1219 / 1862] SSLASN1
[1221 / 1873] SSLASN1
[1223 / 1873] SSLASN1
[1244 / 1873] SWIM
[1250 / 1873] DTLSWireCore
[1255 / 1873] DTLSWireCore
[1261 / 1876]
[1269 / 1889] QUICStreamCore
[1274 / 1911] NetworkingPOSIX
[1285 / 1934]
[1300 / 1946] QUICStreamCore
[1310 / 1946] QUICStreamCore
[1315 / 1946] NetworkingPOSIX-product
[1329 / 1946] NIOCore
[1333 / 1946] NIOCore
[1335 / 1946] NIOCore
[1337 / 1946] CNIOAtomics
[1339 / 1946] SSLCrypto
[1341 / 1946] SSLCrypto
[1342 / 1946] SSLCrypto
[1345 / 1946] SSLCrypto
[1347 / 1946] SSLCrypto
[1353 / 1946] SSLX509
[1355 / 1946] SSLX509
[1356 / 1946] SSLCrypto-product
[1358 / 1946] MDNS
[1361 / 1946] LibP2PCore
[1363 / 1946] LibP2PCore-product
[1368 / 1946] NIOCore
[1377 / 1947]
[1379 / 1948]
[1386 / 1969] QUICPacketProtectionCore
[1390 / 1974] DTLSHandshakeCore
[1405 / 1974] SSLX509
[1407 / 1974] SSLX509
[1418 / 1974] SSLX509-product
[1421 / 1974] QUICPacketProtectionCore
[1427 / 1974] DTLSHandshakeCore
[1431 / 1977] NIOPosix
[1436 / 1980] MDNS
[1439 / 1982] Crypto
[1441 / 1993] SSLDTLSMechanism
[1444 / 2008] QUICConnectionCore
[1453 / 2022] SSLDTLSMechanism
[1466 / 2049] MDNS
[1479 / 2060] NIOFoundationEssentialsCompat
[1494 / 2060] SSLTLS
[1496 / 2060] SSLTLS
[1498 / 2060] SSLTLS
[1510 / 2060] SSLDTLSMechanism
[1512 / 2060] NIOPosix
[1521 / 2060] SSLDTLS
[1526 / 2060] QUICConnectionCore
[1533 / 2060] NIOPosix
[1535 / 2060] NIOPosix
[1538 / 2060] NIOPosix
[1540 / 2060] NIOPosix-product
[1541 / 2060] NIOPosix-product
[1543 / 2060] NIOUDPTransport
[1548 / 2060] NIOEmbedded
[1548 / 2060] NIO
[1554 / 2060] MDNS-product
[1558 / 2060] MDNS
[1563 / 2060] Crypto
[1566 / 2060] NIOPosix
[1570 / 2060] MDNS
[1572 / 2060] Crypto
[1574 / 2062] SSLDTLS
[1575 / 2073] SSLQUIC
[1578 / 2078] SSLQUIC
[1594 / 2078] SSLQUIC-product
[1599 / 2078] SSLDTLS
[1603 / 2078] QUICPacketProtectionCore
[1609 / 2081] CNIOAtomics
[1612 / 2082]
[1621 / 2099] TLS
[1625 / 2110] QUICTLS
[1637 / 2117] QUICConnectionEngineCore
[1650 / 2119] TLS-product
[1662 / 2119] QUICTLS-product
[1671 / 2119] QUICConnectionEngineCore
[1675 / 2119] QUICConnectionEngineCore-product
[1681 / 2119] NIOUDPTransport
[1683 / 2119] NIOUDPTransport-product
[1688 / 2120]
[1695 / 2122] DTLSHandshake-product
[1701 / 2123] NIOEmbedded
[1709 / 2134] QUIC
[1715 / 2146] NIOHTTP1
[1729 / 2161] WebRTC
[1735 / 2161] WebRTC
[1736 / 2161] NIOFoundationCompat
[1752 / 2161] WebRTC
[1752 / 2161] QUIC-product
[1760 / 2161] NIOHTTP1
[1761 / 2161] NIOWebSocket
[1763 / 2161] NIOWebSocket
[1767 / 2161] NIOHTTP1
[1769 / 2161] NIOFoundationCompat-product
[1774 / 2164]
[1774 / 2164] NIOFoundationCompat
[1776 / 2164] LibP2PNode
[1782 / 2187]
[1787 / 2198] NIOWebSocket
[1789 / 2198] LibP2PNode
[1794 / 2198] LibP2PNode
[1802 / 2198] P2PCore
[1813 / 2198] P2PTransport
[1817 / 2198] NIOWebSocket
[1825 / 2198] NIOWebSocket
[1831 / 2198] LibP2PNode
[1832 / 2198]
[1838 / 2202]
[1840 / 2204] NIOHTTP1
[1841 / 2205] P2PCore
[1845 / 2212] P2PTransport
[1848 / 2222] P2PPnet
[1862 / 2240] P2PSecurity
[1878 / 2251] P2PCertificate
[1893 / 2254] P2PMux
[1902 / 2254] P2PNegotiation-product
[1914 / 2254] P2PNAT
[1925 / 2254] P2PNAT
[1929 / 2254] P2PNAT
[1932 / 2254] P2PProtocols
[1938 / 2254] P2PNAT
[1943 / 2254] P2PCertificate-product
[1948 / 2256]
[1952 / 2257] P2PTransport
[1957 / 2265] P2PSecurityNoise
[1958 / 2265] P2PProtocols
[1961 / 2272] P2PTransportTCP
[1963 / 2280] P2PTransportWebSocket
[1976 / 2294] P2PTransportTCP
[1986 / 2319] P2PMuxMplex
[1996 / 2325] P2PSecurityPlaintext
[2023 / 2325] P2PSecurityNoise
[2031 / 2336] P2PTransportMemory
[2038 / 2336] P2PSecurityTLS
[2052 / 2336] P2PSecurityTLS
[2062 / 2336] P2PDiscoveryBeacon
[2072 / 2336] P2PTransportWebRTC
[2075 / 2336] P2PTransportWebRTC
[2084 / 2336] P2PPnet
[2091 / 2336] P2PMuxYamux
[2096 / 2336] P2PSecurityNoise
[2103 / 2336] P2PMuxYamux
[2103 / 2336] P2PMuxMplex-product
[2108 / 2336] P2PDiscoveryBeacon
[2110 / 2336] P2PDiscoveryBeacon
[2117 / 2337]
[2122 / 2338]
[2127 / 2341] P2PPlumtree
[2131 / 2353] P2PSecurity-product
[2133 / 2353] P2PIdentify
[2136 / 2359] P2PGossipSub
[2137 / 2370] P2PTransportWebRTC
[2148 / 2400] P2PKademlia
[2151 / 2421] P2PIdentify
[2173 / 2432] P2PRuntime
[2181 / 2432] P2PCircuitRelay
[2185 / 2441] P2PHTTP
[2197 / 2441] P2PTransportWebRTC
[2214 / 2453] P2PDiscoveryWiFiBeacon
[2230 / 2473] P2PAutoNAT
[2238 / 2484] P2PDiscoveryMDNS
[2252 / 2484] P2PDCUtR
[2267 / 2484] P2PCircuitRelay
[2274 / 2484] P2PTransportQUIC
[2276 / 2484] P2PTransportQUIC-product
[2282 / 2484] P2PWebRTC
[2287 / 2484] P2PRendezvous
[2291 / 2484] P2PRendezvous
[2296 / 2484] P2PRuntime
[2304 / 2484] P2PRuntime
[2310 / 2484] P2PRendezvous
[2314 / 2484] P2PKademlia-product
[2319 / 2484] P2PPing
[2324 / 2484] P2PHTTP
[2327 / 2484] P2PHTTP-product
[2333 / 2484] P2PGossipSub-product
[2336 / 2484] P2PGossipSub
[2341 / 2484] P2PDiscoveryWiFiBeacon
[2345 / 2484] P2PDiscoverySWIM
[2346 / 2484] P2PDiscoverySWIM
[2350 / 2484] P2PDiscoveryCYCLON
[2353 / 2484] P2PDiscoveryCYCLON
[2358 / 2484] P2PDiscoveryWiFiBeacon
[2363 / 2484] P2PDCUtR
[2373 / 2484] P2PDiscoveryCYCLON
[2379 / 2484] P2PCircuitRelay
[2383 / 2484] P2PAutoNAT
[2387 / 2484] P2PAutoNAT
[2392 / 2484]
[2394 / 2485]
[2406 / 2486]
[2419 / 2486] P2PHTTP
[2432 / 2486] P2PPlumtree-product
[2443 / 2486] P2PWebRTC
[2459 / 2497] P2PDiscoveryPlumtree
[2460 / 2497] P2PWebRTC
[2479 / 2498] P2PWebRTC-product
[2479 / 2498] P2PDiscoveryPlumtree
[2482 / 2498] P2P
[2493 / 2509] P2P
[2502 / 2510] P2P
[2502 / 2510] PingPongDemo-product
[2504 / 2512] PingPongDemo-product
[2505 / 2512] PingPongDemo-product
[2508 / 2512] P2P
[2510 / 2512] PingPongDemo-product
Build complete! (47.43 sec)
Fetching https://github.com/1amageek/swift-webrtc.git
Fetching https://github.com/1amageek/swift-tls.git
Fetching https://github.com/1amageek/swift-ssl.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/1amageek/swift-quic.git
Fetching https://github.com/1amageek/swift-SWIM.git
Fetching https://github.com/1amageek/swift-nio-udp.git
[1/1367] Fetching swift-tls
[2/1492] Fetching swift-tls, swift-nio-udp
[54/9657] Fetching swift-tls, swift-nio-udp, swift-log
[104/11639] Fetching swift-tls, swift-nio-udp, swift-log, swift-quic
[107/12051] Fetching swift-tls, swift-nio-udp, swift-log, swift-quic, swift-swim
[231/13069] Fetching swift-tls, swift-nio-udp, swift-log, swift-quic, swift-swim, swift-webrtc
[609/16508] Fetching swift-tls, swift-nio-udp, swift-log, swift-quic, swift-swim, swift-webrtc, swift-ssl
Fetched https://github.com/1amageek/swift-SWIM.git (1.36s)
[13964/16096] Fetching swift-tls, swift-nio-udp, swift-log, swift-quic, swift-webrtc, swift-ssl
Fetching https://github.com/1amageek/swift-mDNS.git
Fetched https://github.com/1amageek/swift-webrtc.git (1.40s)
Fetched https://github.com/1amageek/swift-tls.git (1.40s)
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/1amageek/swift-crypto.git
[12405/13711] Fetching swift-nio-udp, swift-log, swift-quic, swift-ssl
Fetched https://github.com/1amageek/swift-quic.git (1.59s)
Fetched https://github.com/apple/swift-log.git (1.59s)
Fetched https://github.com/1amageek/swift-ssl.git (1.59s)
Fetched https://github.com/1amageek/swift-nio-udp.git (1.59s)
Fetching https://github.com/1amageek/swift-networking.git
[1/12409] Fetching swift-crypto
[2/12757] Fetching swift-crypto, swift-mdns
[722/12857] Fetching swift-crypto, swift-mdns, swift-networking
Fetched https://github.com/1amageek/swift-mDNS.git (0.98s)
[563/12509] Fetching swift-crypto, swift-networking
Fetched https://github.com/1amageek/swift-networking.git (0.86s)
[621/12409] Fetching swift-crypto
[2235/98595] Fetching swift-crypto, swift-nio
Fetched https://github.com/apple/swift-nio.git (9.51s)
Fetched https://github.com/1amageek/swift-crypto.git (9.51s)
Computing version for https://github.com/1amageek/swift-webrtc.git
Computed https://github.com/1amageek/swift-webrtc.git at 3.0.0 (11.59s)
Computing version for https://github.com/1amageek/swift-quic.git
Computed https://github.com/1amageek/swift-quic.git at 2.0.2 (0.57s)
Computing version for https://github.com/1amageek/swift-nio-udp.git
Computed https://github.com/1amageek/swift-nio-udp.git at 1.1.5 (0.55s)
Computing version for https://github.com/1amageek/swift-SWIM.git
Computed https://github.com/1amageek/swift-SWIM.git at 2.0.0 (0.56s)
Computing version for https://github.com/1amageek/swift-mDNS.git
Computed https://github.com/1amageek/swift-mDNS.git at 2.0.0 (0.56s)
Computing version for https://github.com/1amageek/swift-crypto.git
Computed https://github.com/1amageek/swift-crypto.git at 4.5.4 (2.79s)
Computing version for https://github.com/1amageek/swift-networking.git
Computed https://github.com/1amageek/swift-networking.git at 0.1.0 (0.53s)
Computing version for https://github.com/1amageek/swift-tls.git
Computed https://github.com/1amageek/swift-tls.git at 2.1.0 (0.56s)
Computing version for https://github.com/1amageek/swift-ssl.git
Computed https://github.com/1amageek/swift-ssl.git at 0.4.0 (0.76s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.60s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.103.0 (0.68s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-atomics.git
[1/1885] Fetching swift-atomics
[133/8868] Fetching swift-atomics, swift-system
[2197/36647] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-collections.git (2.59s)
Fetched https://github.com/apple/swift-system.git (2.59s)
Fetched https://github.com/apple/swift-atomics.git (2.59s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (3.20s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.1 (0.64s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (0.57s)
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/1amageek/swift-crypto.git
Working copy of https://github.com/1amageek/swift-crypto.git resolved at 4.5.4
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/1amageek/swift-tls.git
Working copy of https://github.com/1amageek/swift-tls.git resolved at 2.1.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.103.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.1
Creating working copy for https://github.com/1amageek/swift-networking.git
Working copy of https://github.com/1amageek/swift-networking.git resolved at 0.1.0
Creating working copy for https://github.com/1amageek/swift-nio-udp.git
Working copy of https://github.com/1amageek/swift-nio-udp.git resolved at 1.1.5
Creating working copy for https://github.com/1amageek/swift-webrtc.git
Working copy of https://github.com/1amageek/swift-webrtc.git resolved at 3.0.0
Creating working copy for https://github.com/1amageek/swift-SWIM.git
Working copy of https://github.com/1amageek/swift-SWIM.git resolved at 2.0.0
Creating working copy for https://github.com/1amageek/swift-mDNS.git
Working copy of https://github.com/1amageek/swift-mDNS.git resolved at 2.0.0
Creating working copy for https://github.com/1amageek/swift-ssl.git
Working copy of https://github.com/1amageek/swift-ssl.git resolved at 0.4.0
Creating working copy for https://github.com/1amageek/swift-quic.git
Working copy of https://github.com/1amageek/swift-quic.git resolved at 2.0.2
Build complete.
{
"dependencies" : [
{
"identity" : "swift-networking",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-networking.git"
},
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.91.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "4.5.4",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-crypto.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.8.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "swift-mdns",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-mDNS.git"
},
{
"identity" : "swift-swim",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-SWIM.git"
},
{
"identity" : "swift-nio-udp",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.5",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-nio-udp.git"
},
{
"identity" : "swift-quic",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-quic.git"
},
{
"identity" : "swift-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-ssl.git"
},
{
"identity" : "swift-tls",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.1",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-tls.git"
},
{
"identity" : "swift-webrtc",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/1amageek/swift-webrtc.git"
}
],
"manifest_display_name" : "swift-libp2p",
"name" : "swift-libp2p",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "26.0"
},
{
"name" : "ios",
"version" : "26.0"
},
{
"name" : "tvos",
"version" : "26.0"
},
{
"name" : "watchos",
"version" : "26.0"
},
{
"name" : "visionos",
"version" : "26.0"
}
],
"products" : [
{
"name" : "LibP2PCore",
"targets" : [
"LibP2PCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PCore",
"targets" : [
"P2PCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "LibP2PNode",
"targets" : [
"LibP2PNode"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransport",
"targets" : [
"P2PTransport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PSessionTransport",
"targets" : [
"P2PSessionTransport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransportTCP",
"targets" : [
"P2PTransportTCP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransportQUIC",
"targets" : [
"P2PTransportQUIC"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransportWebRTC",
"targets" : [
"P2PTransportWebRTC"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PWebRTC",
"targets" : [
"P2PWebRTC"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransportWebSocket",
"targets" : [
"P2PTransportWebSocket"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PTransportMemory",
"targets" : [
"P2PTransportMemory"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PSecurity",
"targets" : [
"P2PSecurity"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PCertificate",
"targets" : [
"P2PCertificate"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PSecurityNoise",
"targets" : [
"P2PSecurityNoise"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PSecurityPlaintext",
"targets" : [
"P2PSecurityPlaintext"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PSecurityTLS",
"targets" : [
"P2PSecurityTLS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PPnet",
"targets" : [
"P2PPnet"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PMux",
"targets" : [
"P2PMux"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PMuxYamux",
"targets" : [
"P2PMuxYamux"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PMuxMplex",
"targets" : [
"P2PMuxMplex"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PNegotiation",
"targets" : [
"P2PNegotiation"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscovery",
"targets" : [
"P2PDiscovery"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoveryMDNS",
"targets" : [
"P2PDiscoveryMDNS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoverySWIM",
"targets" : [
"P2PDiscoverySWIM"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoveryCYCLON",
"targets" : [
"P2PDiscoveryCYCLON"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoveryPlumtree",
"targets" : [
"P2PDiscoveryPlumtree"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoveryBeacon",
"targets" : [
"P2PDiscoveryBeacon"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDiscoveryWiFiBeacon",
"targets" : [
"P2PDiscoveryWiFiBeacon"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PNAT",
"targets" : [
"P2PNAT"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PProtocols",
"targets" : [
"P2PProtocols"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PIdentify",
"targets" : [
"P2PIdentify"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PPing",
"targets" : [
"P2PPing"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PGossipSub",
"targets" : [
"P2PGossipSub"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PCircuitRelay",
"targets" : [
"P2PCircuitRelay"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PDCUtR",
"targets" : [
"P2PDCUtR"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PAutoNAT",
"targets" : [
"P2PAutoNAT"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PKademlia",
"targets" : [
"P2PKademlia"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PPlumtree",
"targets" : [
"P2PPlumtree"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PRendezvous",
"targets" : [
"P2PRendezvous"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PHTTP",
"targets" : [
"P2PHTTP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2PRuntime",
"targets" : [
"P2PRuntime"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "P2P",
"targets" : [
"P2P"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PingPongDemo",
"targets" : [
"PingPongDemo"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "PingPongDemo",
"module_type" : "SwiftTarget",
"name" : "PingPongDemo",
"path" : "Examples/PingPongDemo",
"product_memberships" : [
"PingPongDemo"
],
"sources" : [
"PingPongDemo.swift"
],
"target_dependencies" : [
"P2P",
"P2PSecurityPlaintext"
],
"type" : "executable"
},
{
"c99name" : "P2PWebRTC",
"module_type" : "SwiftTarget",
"name" : "P2PWebRTC",
"path" : "Sources/Protocols/WebRTC",
"product_dependencies" : [
"Logging",
"NIOCore",
"NIOPosix"
],
"product_memberships" : [
"P2PWebRTC",
"P2P",
"PingPongDemo"
],
"sources" : [
"P2PWebRTC.swift",
"WebRTCPrivateConnectionProvider.swift",
"WebRTCPrivateRuntimeError.swift",
"WebRTCPrivateSignalingProtocol.swift",
"WebRTCPrivateSignalingService.swift"
],
"target_dependencies" : [
"P2PTransportWebRTC",
"P2PCore",
"P2PMux",
"P2PProtocols",
"P2PRuntime",
"P2PTransport"
],
"type" : "library"
},
{
"c99name" : "P2PTransportWebSocketTests",
"module_type" : "SwiftTarget",
"name" : "P2PTransportWebSocketTests",
"path" : "Tests/Transport/WebSocketTests",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"NIOWebSocket",
"TLS"
],
"sources" : [
"WebSocketTransportTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PTransportWebSocket",
"P2PTransport",
"P2PCore",
"P2PSecurityTLS"
],
"type" : "test"
},
{
"c99name" : "P2PTransportWebSocket",
"module_type" : "SwiftTarget",
"name" : "P2PTransportWebSocket",
"path" : "Sources/Transport/WebSocket",
"product_dependencies" : [
"Logging",
"NIOCore",
"NIOPosix",
"NIOHTTP1",
"NIOWebSocket",
"TLS"
],
"product_memberships" : [
"P2PTransportWebSocket"
],
"sources" : [
"SwiftTLSChannelHandler.swift",
"WebSocketConnection.swift",
"WebSocketListener.swift",
"WebSocketTransport.swift"
],
"target_dependencies" : [
"P2PTransport"
],
"type" : "library"
},
{
"c99name" : "P2PTransportWebRTCTests",
"module_type" : "SwiftTarget",
"name" : "P2PTransportWebRTCTests",
"path" : "Tests/Transport/WebRTCTests",
"product_dependencies" : [
"WebRTC",
"NIOCore",
"NIOPosix",
"NIOEmbedded"
],
"sources" : [
"WebRTCBoundedFIFOTests.swift",
"WebRTCCrossRouteFIFOTests.swift",
"WebRTCE2ETests.swift",
"WebRTCLocalhostIntegrationTests.swift",
"WebRTCMuxedConnectionTests.swift",
"WebRTCMuxedStreamTests.swift",
"WebRTCNoiseAuthenticationTests.swift",
"WebRTCPrivateConnectionTests.swift",
"WebRTCPrivateEventConsumerTests.swift",
"WebRTCPublicErrorTests.swift",
"WebRTCStreamFrameCodecTests.swift",
"WebRTCTestCertificate.swift",
"WebRTCTestConfiguration.swift",
"WebRTCTransportTests.swift",
"WebRTCUDPHandlerTests.swift",
"WebRTCUDPOutboundQueueTests.swift",
"WebRTCUDPSocketTests.swift",
"WebRTCUDPTransportFailureMapperTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PTransportWebRTC",
"P2PTransport",
"P2PSessionTransport",
"P2PMux",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PTransportWebRTC",
"module_type" : "SwiftTarget",
"name" : "P2PTransportWebRTC",
"path" : "Sources/Transport/WebRTC",
"product_dependencies" : [
"Logging",
"WebRTC",
"NIOCore",
"NIOPosix"
],
"product_memberships" : [
"P2PTransportWebRTC",
"P2PWebRTC",
"P2P",
"PingPongDemo"
],
"sources" : [
"WebRTCAuthenticatedEventConsumer.swift",
"WebRTCBoundedFIFO.swift",
"WebRTCCandidateGatherer.swift",
"WebRTCCandidateRouteReservation.swift",
"WebRTCDatagramEgress.swift",
"WebRTCDirectICECredentials.swift",
"WebRTCMultiaddrConversion.swift",
"WebRTCMultiaddrHost.swift",
"WebRTCMuxedConnection.swift",
"WebRTCMuxedConnectionError.swift",
"WebRTCMuxedConnectionLimits.swift",
"WebRTCMuxedStream.swift",
"WebRTCMuxedStreamLimits.swift",
"WebRTCNoiseAuthentication.swift",
"WebRTCNoisePrologue.swift",
"WebRTCPreparedUDPSocket.swift",
"WebRTCPrivateCandidatePolicy.swift",
"WebRTCPrivateConnectionEstablisher.swift",
"WebRTCPrivateConnectionEstablishing.swift",
"WebRTCPrivateDataChannelHandshake.swift",
"WebRTCPrivateEventConsumer.swift",
"WebRTCPrivateMultiaddr.swift",
"WebRTCPrivateTransportConfiguration.swift",
"WebRTCPrivateTransportError.swift",
"WebRTCSTUNDiscoveryError.swift",
"WebRTCSTUNServer.swift",
"WebRTCSessionListener.swift",
"WebRTCSignalingInbox.swift",
"WebRTCStreamError.swift",
"WebRTCStreamFrame.swift",
"WebRTCStreamFrameCodec.swift",
"WebRTCStreamFrameDecoder.swift",
"WebRTCStreamFrameError.swift",
"WebRTCStreamFrameFlag.swift",
"WebRTCTURNAllocation.swift",
"WebRTCTURNServer.swift",
"WebRTCTransport.swift",
"WebRTCTransportCertificate.swift",
"WebRTCUDPEndpoint.swift",
"WebRTCUDPHandler.swift",
"WebRTCUDPHandlerLimits.swift",
"WebRTCUDPInitialDatagramClassifier.swift",
"WebRTCUDPOutboundQueue.swift",
"WebRTCUDPRouteRegistrationFailure.swift",
"WebRTCUDPRouteReservation.swift",
"WebRTCUDPSocket.swift",
"WebRTCUDPSocketIdentity.swift",
"WebRTCUDPTransportFailureClassification.swift",
"WebRTCUDPTransportFailureMapper.swift",
"WebRTCUDPTransportLimits.swift"
],
"target_dependencies" : [
"P2PTransport",
"P2PSessionTransport",
"P2PCore",
"P2PMux",
"P2PSecurityNoise"
],
"type" : "library"
},
{
"c99name" : "P2PTransportTests",
"module_type" : "SwiftTarget",
"name" : "P2PTransportTests",
"path" : "Tests/Transport/P2PTransportTests",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOEmbedded"
],
"sources" : [
"MemoryTransportTests.swift",
"TCPTransportTests.swift",
"TransportTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PTransport",
"P2PTransportMemory",
"P2PTransportTCP",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PTransportTCP",
"module_type" : "SwiftTarget",
"name" : "P2PTransportTCP",
"path" : "Sources/Transport/TCP",
"product_dependencies" : [
"Logging",
"NIOCore",
"NIOPosix"
],
"product_memberships" : [
"P2PTransportTCP",
"P2P",
"PingPongDemo"
],
"sources" : [
"TCPConnection.swift",
"TCPListener.swift",
"TCPTransport.swift"
],
"target_dependencies" : [
"P2PTransport"
],
"type" : "library"
},
{
"c99name" : "P2PTransportQUICTests",
"module_type" : "SwiftTarget",
"name" : "P2PTransportQUICTests",
"path" : "Tests/Transport/QUICTests",
"product_dependencies" : [
"NetworkingCore",
"NIOCore"
],
"sources" : [
"MultiaddrConversionTests.swift",
"QUICLiveIntegrationTests.swift",
"QUICTransportTests.swift"
],
"target_dependencies" : [
"P2PTransportQUIC",
"P2PCore",
"P2PMux",
"P2PSessionTransport"
],
"type" : "test"
},
{
"c99name" : "P2PTransportQUIC",
"module_type" : "SwiftTarget",
"name" : "P2PTransportQUIC",
"path" : "Sources/Transport/QUIC",
"product_dependencies" : [
"NetworkingCore",
"NetworkingDatagram",
"NetworkingPOSIX",
"NetworkingTime",
"NIOCore",
"QUIC",
"QUICWire",
"QUICConnectionEngineCore",
"SSLCrypto",
"SSLCryptoContracts"
],
"product_memberships" : [
"P2PTransportQUIC"
],
"sources" : [
"MultiaddrConversion.swift",
"QUICMuxedConnection.swift",
"QUICMuxedStream.swift",
"QUICSessionListener.swift",
"QUICTransport.swift"
],
"target_dependencies" : [
"P2PTransport",
"P2PSessionTransport",
"P2PCore",
"P2PMux",
"LibP2PNode"
],
"type" : "library"
},
{
"c99name" : "P2PTransportMemory",
"module_type" : "SwiftTarget",
"name" : "P2PTransportMemory",
"path" : "Sources/Transport/Memory",
"product_memberships" : [
"P2PTransportMemory"
],
"sources" : [
"MemoryChannel.swift",
"MemoryConnection.swift",
"MemoryHub.swift",
"MemoryListener.swift",
"MemoryTransport.swift"
],
"target_dependencies" : [
"P2PTransport"
],
"type" : "library"
},
{
"c99name" : "P2PTransport",
"module_type" : "SwiftTarget",
"name" : "P2PTransport",
"path" : "Sources/Transport/P2PTransport",
"product_memberships" : [
"P2PTransport",
"P2PSessionTransport",
"P2PTransportTCP",
"P2PTransportQUIC",
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PTransportWebSocket",
"P2PTransportMemory",
"P2PCircuitRelay",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"ByteListener.swift",
"ByteTransport.swift",
"TransportAddressing.swift",
"TransportError.swift",
"TransportPathKind.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PTests",
"module_type" : "SwiftTarget",
"name" : "P2PTests",
"path" : "Tests/Integration/P2PTests",
"sources" : [
"AutoRelayServiceTests.swift",
"BackoffStrategyTests.swift",
"BlackHoleDetectorTests.swift",
"ConnectionPoolTests.swift",
"DataPathCopyGuardTests.swift",
"DialRankerTests.swift",
"DiscoveryIntegrationTests.swift",
"HealthMonitorTests.swift",
"IdentifyIntegrationTests.swift",
"NodeDSLTests.swift",
"NodeE2ETests.swift",
"NodeLifecycleGuardTests.swift",
"NodeTraversalIntegrationTests.swift",
"ObservedAddressManagerTests.swift",
"P2PTests.swift",
"ReconnectionPolicyTests.swift",
"RelaySelectorTests.swift",
"ResourceManagerTests.swift",
"SecurityHardeningTests.swift",
"SmartDialerTests.swift",
"SupernodeServiceTests.swift",
"TraversalCoordinatorTests.swift",
"TraversalEventStreamTests.swift",
"TraversalMechanismDirectTests.swift",
"TraversalMechanismHolePunchTests.swift",
"TraversalMechanismLocalDirectTests.swift",
"TraversalMechanismRelayTests.swift",
"TraversalPolicyTests.swift",
"TraversalTimeoutTests.swift"
],
"target_dependencies" : [
"P2P",
"P2PTransportMemory",
"P2PSessionTransport",
"P2PSecurityPlaintext",
"P2PMuxYamux",
"P2PPing",
"P2PIdentify",
"P2PPnet"
],
"type" : "test"
},
{
"c99name" : "P2PTestSupport",
"module_type" : "SwiftTarget",
"name" : "P2PTestSupport",
"path" : "Tests/Support/P2PTestSupport",
"sources" : [
"LiveNetworkTests.swift"
],
"type" : "library"
},
{
"c99name" : "P2PSessionTransport",
"module_type" : "SwiftTarget",
"name" : "P2PSessionTransport",
"path" : "Sources/Transport/SessionTransport",
"product_memberships" : [
"P2PSessionTransport",
"P2PTransportQUIC",
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"SessionTransport.swift"
],
"target_dependencies" : [
"P2PCore",
"P2PTransport",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PSecurityTests",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityTests",
"path" : "Tests/Security/P2PSecurityTests",
"sources" : [
"SecurityTests.swift"
],
"target_dependencies" : [
"P2PSecurity",
"P2PSecurityPlaintext"
],
"type" : "test"
},
{
"c99name" : "P2PSecurityTLSTests",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityTLSTests",
"path" : "Tests/Security/TLSTests",
"product_dependencies" : [
"TLS"
],
"sources" : [
"AutoTLSTests.swift",
"TLSCertificateTests.swift",
"TLSHandshakeE2ETests.swift",
"TLSRecordBufferTests.swift",
"TLSTamperTests.swift"
],
"target_dependencies" : [
"P2PSecurityTLS",
"P2PCertificate",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PSecurityTLS",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityTLS",
"path" : "Sources/Security/TLS",
"product_dependencies" : [
"Crypto",
"TLS"
],
"product_memberships" : [
"P2PSecurityTLS"
],
"sources" : [
"AutoTLS.swift",
"TLSAsyncOperationGate.swift",
"TLSByteBufferBorrow.swift",
"TLSCertificate.swift",
"TLSConnection.swift",
"TLSError.swift",
"TLSRecordBuffer.swift",
"TLSUpgrader.swift"
],
"target_dependencies" : [
"P2PSecurity",
"P2PCertificate"
],
"type" : "library"
},
{
"c99name" : "P2PSecurityPlaintextTests",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityPlaintextTests",
"path" : "Tests/Security/PlaintextTests",
"sources" : [
"PlaintextTests.swift"
],
"target_dependencies" : [
"P2PSecurityPlaintext",
"P2PSecurity",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PSecurityPlaintext",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityPlaintext",
"path" : "Sources/Security/Plaintext",
"product_memberships" : [
"P2PSecurityPlaintext",
"P2P",
"PingPongDemo"
],
"sources" : [
"PlaintextConnection.swift",
"PlaintextUpgrader.swift"
],
"target_dependencies" : [
"P2PSecurity"
],
"type" : "library"
},
{
"c99name" : "P2PSecurityNoiseTests",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityNoiseTests",
"path" : "Tests/Security/NoiseTests",
"sources" : [
"NoiseCryptoStateTests.swift",
"NoiseHandshakeTests.swift",
"NoiseIntegrationTests.swift",
"NoiseKATTests.swift",
"NoisePayloadTests.swift",
"NoisePeerAuthenticatorTests.swift"
],
"target_dependencies" : [
"P2PSecurityNoise",
"P2PTransportMemory"
],
"type" : "test"
},
{
"c99name" : "P2PSecurityNoise",
"module_type" : "SwiftTarget",
"name" : "P2PSecurityNoise",
"path" : "Sources/Security/Noise",
"product_dependencies" : [
"Crypto",
"NetworkingCore",
"SSLCryptoContracts",
"SSLCrypto"
],
"product_memberships" : [
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PSecurityNoise",
"P2P",
"PingPongDemo"
],
"sources" : [
"NoiseConnection.swift",
"NoiseCryptoState.swift",
"NoiseError.swift",
"NoiseHandshake.swift",
"NoisePayload.swift",
"NoisePeerAuthenticationCache.swift",
"NoisePeerAuthenticator.swift",
"NoisePreparedIdentity.swift",
"NoiseUpgrader.swift"
],
"target_dependencies" : [
"P2PSecurity",
"LibP2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PSecurity",
"module_type" : "SwiftTarget",
"name" : "P2PSecurity",
"path" : "Sources/Security/P2PSecurity",
"product_memberships" : [
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PSecurity",
"P2PSecurityNoise",
"P2PSecurityPlaintext",
"P2PSecurityTLS",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"P2PSecurity.swift",
"SecureChannel.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PRuntime",
"module_type" : "SwiftTarget",
"name" : "P2PRuntime",
"path" : "Sources/Runtime/P2PRuntime",
"product_memberships" : [
"P2PWebRTC",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"BackoffStrategy.swift",
"ConnectionDirection.swift",
"ConnectionGater.swift",
"ConnectionLimits.swift",
"ConnectionProvider.swift",
"ConnectionProviderLifecycle.swift",
"ConnectionProviderRuntimeContext.swift",
"ConnectionUpgrader.swift",
"DisconnectReason.swift",
"DiscoveryRuntimeServices.swift",
"PoolConfiguration.swift",
"ReconnectionPolicy.swift",
"RuntimeComposition.swift",
"RuntimeConfiguration.swift",
"RuntimeContextBindingConnectionProvider.swift"
],
"target_dependencies" : [
"P2PCore",
"P2PTransport",
"P2PSessionTransport",
"P2PSecurity",
"P2PMux",
"P2PNegotiation",
"P2PDiscovery",
"P2PProtocols"
],
"type" : "library"
},
{
"c99name" : "P2PRendezvousTests",
"module_type" : "SwiftTarget",
"name" : "P2PRendezvousTests",
"path" : "Tests/Protocols/RendezvousTests",
"sources" : [
"RendezvousTests.swift"
],
"target_dependencies" : [
"P2PRendezvous",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PRendezvous",
"module_type" : "SwiftTarget",
"name" : "P2PRendezvous",
"path" : "Sources/Protocols/Rendezvous",
"product_memberships" : [
"P2PRendezvous"
],
"sources" : [
"RendezvousError.swift",
"RendezvousMessages.swift",
"RendezvousPoint.swift",
"RendezvousProtocol.swift",
"RendezvousService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PProtocols",
"module_type" : "SwiftTarget",
"name" : "P2PProtocols",
"path" : "Sources/Protocols/P2PProtocols",
"product_memberships" : [
"P2PWebRTC",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PProtocols",
"P2PIdentify",
"P2PPing",
"P2PGossipSub",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PAutoNAT",
"P2PKademlia",
"P2PPlumtree",
"P2PRendezvous",
"P2PHTTP",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"ConnectionLimit.swift",
"ConnectionScopedStreamOpener.swift",
"DiscoveryRegistration+P2PProtocols.swift",
"InboundConnectionAdmitter.swift",
"P2PProtocols.swift",
"ServicePipeline.swift"
],
"target_dependencies" : [
"P2PCore",
"P2PMux",
"P2PDiscovery"
],
"type" : "library"
},
{
"c99name" : "P2PPnetTests",
"module_type" : "SwiftTarget",
"name" : "P2PPnetTests",
"path" : "Tests/Security/PnetTests",
"sources" : [
"PnetTests.swift"
],
"target_dependencies" : [
"P2PPnet",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PPnet",
"module_type" : "SwiftTarget",
"name" : "P2PPnet",
"path" : "Sources/Security/Pnet",
"product_dependencies" : [
"Crypto"
],
"product_memberships" : [
"P2PPnet",
"P2P",
"PingPongDemo"
],
"sources" : [
"PnetConnection.swift",
"PnetError.swift",
"PnetProtector.swift",
"XSalsa20.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PPlumtreeTests",
"module_type" : "SwiftTarget",
"name" : "P2PPlumtreeTests",
"path" : "Tests/Protocols/PlumtreeTests",
"sources" : [
"LazyPushBufferTests.swift",
"PlumtreeIntegrationTests.swift",
"PlumtreeProtobufTests.swift",
"PlumtreeRouterTests.swift",
"PlumtreeServiceTests.swift"
],
"target_dependencies" : [
"P2PPlumtree",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PPlumtree",
"module_type" : "SwiftTarget",
"name" : "P2PPlumtree",
"path" : "Sources/Protocols/Plumtree",
"product_memberships" : [
"P2PDiscoveryPlumtree",
"P2PPlumtree",
"P2P",
"PingPongDemo"
],
"sources" : [
"LazyPushBuffer.swift",
"PlumtreeConfiguration.swift",
"PlumtreeError.swift",
"PlumtreeEvent.swift",
"PlumtreeMessage.swift",
"PlumtreeProtobuf.swift",
"PlumtreeRouter.swift",
"PlumtreeService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PPingTests",
"module_type" : "SwiftTarget",
"name" : "P2PPingTests",
"path" : "Tests/Protocols/PingTests",
"product_dependencies" : [
"QUIC"
],
"sources" : [
"PingE2ETests.swift",
"PingEdgeCaseTests.swift",
"PingServiceTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PPing",
"P2PCore",
"P2PProtocols",
"P2PTransportQUIC",
"P2PTransport",
"P2PSessionTransport",
"P2PMux"
],
"type" : "test"
},
{
"c99name" : "P2PPing",
"module_type" : "SwiftTarget",
"name" : "P2PPing",
"path" : "Sources/Protocols/Ping",
"product_memberships" : [
"P2PPing",
"P2P",
"PingPongDemo"
],
"sources" : [
"PingResult.swift",
"PingService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PNegotiationTests",
"module_type" : "SwiftTarget",
"name" : "P2PNegotiationTests",
"path" : "Tests/Negotiation/P2PNegotiationTests",
"sources" : [
"NegotiationEdgeCaseTests.swift",
"NegotiationTests.swift"
],
"target_dependencies" : [
"P2PNegotiation",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PNegotiation",
"module_type" : "SwiftTarget",
"name" : "P2PNegotiation",
"path" : "Sources/Negotiation/P2PNegotiation",
"product_memberships" : [
"P2PWebRTC",
"P2PNegotiation",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"P2PNegotiation.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PNATTests",
"module_type" : "SwiftTarget",
"name" : "P2PNATTests",
"path" : "Tests/NAT/P2PNATTests",
"sources" : [
"NATDeviceTypeTests.swift",
"NATPortMapperTests.swift",
"NetworkUtilsTests.swift",
"SecurityValidationTests.swift",
"UDPSocketSourceTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PNAT"
],
"type" : "test"
},
{
"c99name" : "P2PNAT",
"module_type" : "SwiftTarget",
"name" : "P2PNAT",
"path" : "Sources/NAT/P2PNAT",
"product_memberships" : [
"P2PNAT",
"P2P",
"PingPongDemo"
],
"sources" : [
"IPAddressValidator.swift",
"NATDeviceType.swift",
"NATGatewayType.swift",
"NATPMPHandler.swift",
"NATPortMapper.swift",
"NATPortMapperConfiguration.swift",
"NATPortMapperError.swift",
"NATPortMapperEvent.swift",
"NATProtocolHandler.swift",
"NATTransportProtocol.swift",
"NetworkUtils.swift",
"PCPHandler.swift",
"PortMapping.swift",
"UDPSocket.swift",
"UPnPHandler.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PMuxYamuxTests",
"module_type" : "SwiftTarget",
"name" : "P2PMuxYamuxTests",
"path" : "Tests/Mux/YamuxTests",
"sources" : [
"ControlFrameQueueTests.swift",
"Mocks/MockSecuredConnection.swift",
"YamuxAcceptCancellationTests.swift",
"YamuxConnectionTests.swift",
"YamuxFlowControlTests.swift",
"YamuxFrameTests.swift",
"YamuxStreamTests.swift"
],
"target_dependencies" : [
"P2PMuxYamux"
],
"type" : "test"
},
{
"c99name" : "P2PMuxYamux",
"module_type" : "SwiftTarget",
"name" : "P2PMuxYamux",
"path" : "Sources/Mux/Yamux",
"product_memberships" : [
"P2PMuxYamux",
"P2P",
"PingPongDemo"
],
"sources" : [
"ConnectionFlowController.swift",
"ControlFrameQueue.swift",
"FlowController.swift",
"YamuxConnection.swift",
"YamuxFrame.swift",
"YamuxMuxer.swift",
"YamuxStream.swift"
],
"target_dependencies" : [
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PMuxTests",
"module_type" : "SwiftTarget",
"name" : "P2PMuxTests",
"path" : "Tests/Mux/P2PMuxTests",
"sources" : [
"MuxTests.swift"
],
"target_dependencies" : [
"P2PMux",
"P2PMuxYamux",
"P2PMuxMplex"
],
"type" : "test"
},
{
"c99name" : "P2PMuxMplexTests",
"module_type" : "SwiftTarget",
"name" : "P2PMuxMplexTests",
"path" : "Tests/Mux/MplexTests",
"sources" : [
"Mocks/MockSecuredConnection.swift",
"MplexAcceptCancellationTests.swift",
"MplexConcurrencyTests.swift",
"MplexConnectionTests.swift",
"MplexFrameTests.swift",
"MplexMuxerTests.swift",
"MplexStreamTests.swift"
],
"target_dependencies" : [
"P2PMuxMplex",
"P2PTransportMemory",
"P2PSecurityPlaintext"
],
"type" : "test"
},
{
"c99name" : "P2PMuxMplex",
"module_type" : "SwiftTarget",
"name" : "P2PMuxMplex",
"path" : "Sources/Mux/Mplex",
"product_memberships" : [
"P2PMuxMplex"
],
"sources" : [
"MplexConnection.swift",
"MplexControlFrameQueue.swift",
"MplexFrame.swift",
"MplexMuxer.swift",
"MplexStream.swift"
],
"target_dependencies" : [
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PMux",
"module_type" : "SwiftTarget",
"name" : "P2PMux",
"path" : "Sources/Mux/P2PMux",
"product_dependencies" : [
"NIOCore"
],
"product_memberships" : [
"P2PSessionTransport",
"P2PTransportQUIC",
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PMux",
"P2PMuxYamux",
"P2PMuxMplex",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PProtocols",
"P2PIdentify",
"P2PPing",
"P2PGossipSub",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PAutoNAT",
"P2PKademlia",
"P2PPlumtree",
"P2PRendezvous",
"P2PHTTP",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"P2PMux.swift",
"StreamSession.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PKademliaTests",
"module_type" : "SwiftTarget",
"name" : "P2PKademliaTests",
"path" : "Tests/Protocols/KademliaTests",
"sources" : [
"IPNSRecordOverflowTests.swift",
"IPNSValidatorTests.swift",
"KademliaSecurityTests.swift",
"KademliaShutdownTests.swift",
"KademliaTests.swift",
"PeerLatencyTrackerTests.swift",
"PersistentStorageTests.swift",
"RandomWalkTests.swift",
"SKademliaTests.swift"
],
"target_dependencies" : [
"P2PKademlia"
],
"type" : "test"
},
{
"c99name" : "P2PKademlia",
"module_type" : "SwiftTarget",
"name" : "P2PKademlia",
"path" : "Sources/Protocols/Kademlia",
"product_memberships" : [
"P2PKademlia",
"P2P",
"PingPongDemo"
],
"sources" : [
"IPNSRecord.swift",
"IPNSValidator.swift",
"KBucket.swift",
"KademliaError.swift",
"KademliaEvent.swift",
"KademliaKey.swift",
"KademliaMessages.swift",
"KademliaProtobuf.swift",
"KademliaProtocol.swift",
"KademliaQuery.swift",
"KademliaService.swift",
"PeerLatencyTracker.swift",
"ProviderStore.swift",
"RecordStore.swift",
"RecordValidator.swift",
"RoutingTable.swift",
"SKademliaConfig.swift",
"Storage/FileProviderStorage.swift",
"Storage/FileRecordStorage.swift",
"Storage/InMemoryProviderStorage.swift",
"Storage/InMemoryRecordStorage.swift",
"Storage/ProviderStorage.swift",
"Storage/RecordStorage.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PIdentifyTests",
"module_type" : "SwiftTarget",
"name" : "P2PIdentifyTests",
"path" : "Tests/Protocols/IdentifyTests",
"product_dependencies" : [
"QUIC"
],
"sources" : [
"IdentifyE2ETests.swift",
"IdentifyProtobufTests.swift",
"IdentifyServiceTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PIdentify",
"P2PCore",
"P2PMux",
"P2PProtocols",
"P2PTransportQUIC",
"P2PTransport",
"P2PSessionTransport"
],
"type" : "test"
},
{
"c99name" : "P2PIdentify",
"module_type" : "SwiftTarget",
"name" : "P2PIdentify",
"path" : "Sources/Protocols/Identify",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"P2PIdentify",
"P2P",
"PingPongDemo"
],
"sources" : [
"IdentifyError.swift",
"IdentifyInfo.swift",
"IdentifyProtobuf.swift",
"IdentifyService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PHTTPTests",
"module_type" : "SwiftTarget",
"name" : "P2PHTTPTests",
"path" : "Tests/Protocols/HTTPTests",
"sources" : [
"HTTPServiceTests.swift"
],
"target_dependencies" : [
"P2PHTTP",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PHTTP",
"module_type" : "SwiftTarget",
"name" : "P2PHTTP",
"path" : "Sources/Protocols/HTTP",
"product_memberships" : [
"P2PHTTP"
],
"sources" : [
"HTTPCodec.swift",
"HTTPError.swift",
"HTTPMessages.swift",
"HTTPProtocol.swift",
"HTTPService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PGossipSubTests",
"module_type" : "SwiftTarget",
"name" : "P2PGossipSubTests",
"path" : "Tests/Protocols/GossipSubTests",
"sources" : [
"ExplicitPeeringTests.swift",
"ExtendedValidatorTests.swift",
"FloodSubCompatibilityTests.swift",
"GossipSubProtobufTests.swift",
"GossipSubRouterTests.swift",
"GossipSubSecurityTests.swift",
"HeartbeatManagerTests.swift",
"MeshStateTests.swift",
"MessageCacheTests.swift",
"MessageIDTests.swift",
"MessageSigningTests.swift",
"OpportunisticGraftTests.swift",
"PeerScorerTests.swift",
"TopicTests.swift",
"TracingTests.swift"
],
"target_dependencies" : [
"P2PGossipSub",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PGossipSub",
"module_type" : "SwiftTarget",
"name" : "P2PGossipSub",
"path" : "Sources/Protocols/GossipSub",
"product_memberships" : [
"P2PGossipSub",
"P2P",
"PingPongDemo"
],
"sources" : [
"Core/Message.swift",
"Core/MessageID.swift",
"Core/Subscription.swift",
"Core/SubscriptionFilter.swift",
"Core/Topic.swift",
"GossipSubConfiguration.swift",
"GossipSubError.swift",
"GossipSubEvent.swift",
"GossipSubService.swift",
"Heartbeat/HeartbeatManager.swift",
"Router/GossipPromises.swift",
"Router/GossipSubRouter.swift",
"Router/MeshState.swift",
"Router/MessageCache.swift",
"Router/PeerState.swift",
"Scoring/PeerScorer.swift",
"Scoring/TopicScoreParams.swift",
"Tracing/GossipSubTracer.swift",
"Tracing/JSONTracer.swift",
"Wire/ControlMessage.swift",
"Wire/GossipSubProtobuf.swift",
"Wire/GossipSubRPC.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryWiFiBeaconTests",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryWiFiBeaconTests",
"path" : "Tests/Discovery/WiFiBeaconTests",
"sources" : [
"WiFiBeaconAdapterTests.swift",
"WiFiBeaconConfigurationTests.swift",
"WiFiBeaconFrameTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PDiscoveryWiFiBeacon",
"P2PDiscoveryBeacon",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PDiscoveryWiFiBeacon",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryWiFiBeacon",
"path" : "Sources/Discovery/WiFiBeacon",
"product_dependencies" : [
"NIOUDPTransport"
],
"product_memberships" : [
"P2PDiscoveryWiFiBeacon"
],
"sources" : [
"WiFiBeaconAdapter.swift",
"WiFiBeaconConfiguration.swift",
"WiFiBeaconError.swift",
"WiFiBeaconFrame.swift"
],
"target_dependencies" : [
"P2PDiscoveryBeacon",
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryTests",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryTests",
"path" : "Tests/Discovery/P2PDiscoveryTests",
"sources" : [
"AddressBookTests.swift",
"BookBoundsTests.swift",
"CertifiedAddressBookTests.swift",
"DiscoveryTests.swift",
"FilePeerStoreTests.swift",
"KeyBookTests.swift",
"MDNSDiscoveryIntegrationTests.swift",
"MetadataBookTests.swift",
"PeerIDServiceCodecTests.swift",
"PeerStoreGCTests.swift",
"ProtoBookTests.swift",
"SWIMBridgeTests.swift",
"SWIMMembershipIntegrationTests.swift",
"SWIMMembershipTests.swift"
],
"target_dependencies" : [
"P2PTestSupport",
"P2PDiscovery",
"P2PDiscoverySWIM",
"P2PDiscoveryMDNS"
],
"type" : "test"
},
{
"c99name" : "P2PDiscoverySWIM",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoverySWIM",
"path" : "Sources/Discovery/SWIM",
"product_dependencies" : [
"SWIM",
"SWIMWire",
"NIOUDPTransport",
"Logging"
],
"product_memberships" : [
"P2PDiscoverySWIM",
"P2P",
"PingPongDemo"
],
"sources" : [
"SWIMBridge.swift",
"SWIMMembership.swift",
"SWIMTransportAdapter.swift"
],
"target_dependencies" : [
"P2PDiscovery",
"P2PCore",
"P2PProtocols"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryPlumtreeTests",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryPlumtreeTests",
"path" : "Tests/Discovery/PlumtreeDiscoveryTests",
"sources" : [
"PlumtreeDiscoveryTests.swift"
],
"target_dependencies" : [
"P2PDiscoveryPlumtree",
"P2PCore",
"P2PPlumtree",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PDiscoveryPlumtree",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryPlumtree",
"path" : "Sources/Discovery/Plumtree",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"P2PDiscoveryPlumtree",
"P2P",
"PingPongDemo"
],
"sources" : [
"PlumtreeDiscovery.swift",
"PlumtreeDiscoveryAnnouncement.swift",
"PlumtreeDiscoveryConfiguration.swift",
"PlumtreeDiscoveryError.swift"
],
"target_dependencies" : [
"P2PDiscovery",
"P2PCore",
"P2PMux",
"P2PProtocols",
"P2PPlumtree"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryMDNS",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryMDNS",
"path" : "Sources/Discovery/MDNS",
"product_dependencies" : [
"MDNS",
"NetworkingCore",
"Logging"
],
"product_memberships" : [
"P2PDiscoveryMDNS",
"P2P",
"PingPongDemo"
],
"sources" : [
"MDNSConfiguration.swift",
"MDNSDiscovery.swift",
"PeerIDServiceCodec.swift"
],
"target_dependencies" : [
"P2PDiscovery",
"P2PCore",
"P2PProtocols"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryCYCLONTests",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryCYCLONTests",
"path" : "Tests/Discovery/CYCLONTests",
"sources" : [
"CYCLONDiscoveryTests.swift",
"CYCLONEclipseTests.swift",
"CYCLONPartialViewTests.swift",
"CYCLONProtobufTests.swift"
],
"target_dependencies" : [
"P2PDiscoveryCYCLON",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PDiscoveryCYCLON",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryCYCLON",
"path" : "Sources/Discovery/CYCLON",
"product_memberships" : [
"P2PDiscoveryCYCLON",
"P2P",
"PingPongDemo"
],
"sources" : [
"CYCLONConfiguration.swift",
"CYCLONDiscovery.swift",
"CYCLONEntry.swift",
"CYCLONError.swift",
"CYCLONMessage.swift",
"CYCLONPartialView.swift",
"CYCLONProtobuf.swift"
],
"target_dependencies" : [
"P2PDiscovery",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "library"
},
{
"c99name" : "P2PDiscoveryBeaconTests",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryBeaconTests",
"path" : "Tests/Discovery/BeaconTests",
"sources" : [
"AggregationIngestTests.swift",
"BLEDiscoverySchedulerTests.swift",
"BayesianPresenceTests.swift",
"BeaconAddressCodecTests.swift",
"BeaconBoundsTests.swift",
"BeaconDiscoveryConfigurationTests.swift",
"BeaconDiscoveryTests.swift",
"BeaconEncoderServiceTests.swift",
"BeaconFilterTests.swift",
"BeaconObservationTests.swift",
"BeaconPeerRecordTests.swift",
"BeaconPeerStoreTests.swift",
"BeaconTierTests.swift",
"ConfirmedPeerRecordTests.swift",
"DataHelpersTests.swift",
"DecodedBeaconTests.swift",
"EphIDGeneratorTests.swift",
"FreshnessTests.swift",
"MediumTests.swift",
"MicroPoWTests.swift",
"MicroTESLATests.swift",
"OpaqueAddressTests.swift",
"PhysicalFingerprintTests.swift",
"RSSISmootherTests.swift",
"ScanCoordinatorTests.swift",
"TestHelpers.swift",
"Tier1BeaconTests.swift",
"Tier2BeaconTests.swift",
"Tier3BeaconTests.swift",
"TrickleTimerTests.swift",
"TrustCalculatorTests.swift",
"UnconfirmedSightingTests.swift"
],
"target_dependencies" : [
"P2PDiscoveryBeacon",
"P2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PDiscoveryBeacon",
"module_type" : "SwiftTarget",
"name" : "P2PDiscoveryBeacon",
"path" : "Sources/Discovery/Beacon",
"product_dependencies" : [
"Crypto"
],
"product_memberships" : [
"P2PDiscoveryBeacon",
"P2PDiscoveryWiFiBeacon",
"P2P",
"PingPongDemo"
],
"sources" : [
"AggregationIngest.swift",
"BLEDiscoveryScheduler.swift",
"BayesianPresence.swift",
"BeaconAddressCodec.swift",
"BeaconDiscovery.swift",
"BeaconDiscoveryConfiguration.swift",
"BeaconEncoderService.swift",
"BeaconFilter.swift",
"BeaconObservation.swift",
"BeaconPeerRecord.swift",
"BeaconPeerStore.swift",
"BeaconTier.swift",
"ConfirmedPeerRecord.swift",
"DataHelpers.swift",
"DecodedBeacon.swift",
"EphIDGenerator.swift",
"FreshnessFunction.swift",
"InMemoryBeaconPeerStore.swift",
"MediumCharacteristics.swift",
"MicroPoW.swift",
"MicroTESLA.swift",
"OpaqueAddress.swift",
"PhysicalFingerprint.swift",
"RSSISmoother.swift",
"RawDiscovery.swift",
"ScanCoordinator.swift",
"Tier1Beacon.swift",
"Tier2Beacon.swift",
"Tier3Beacon.swift",
"TransportAdapter.swift",
"TransportAdapterErrors.swift",
"TrickleTimer.swift",
"TrustCalculator.swift",
"UnconfirmedSighting.swift"
],
"target_dependencies" : [
"P2PDiscovery",
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PDiscovery",
"module_type" : "SwiftTarget",
"name" : "P2PDiscovery",
"path" : "Sources/Discovery/P2PDiscovery",
"product_memberships" : [
"P2PWebRTC",
"P2PDiscovery",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PDiscoveryBeacon",
"P2PDiscoveryWiFiBeacon",
"P2PProtocols",
"P2PIdentify",
"P2PPing",
"P2PGossipSub",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PAutoNAT",
"P2PKademlia",
"P2PPlumtree",
"P2PRendezvous",
"P2PHTTP",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"AddressBook.swift",
"Bootstrap.swift",
"CertifiedAddressBook.swift",
"DiscoveryPipeline.swift",
"FilePeerStore.swift",
"KeyBook.swift",
"MemoryKeyBook.swift",
"MemoryMetadataBook.swift",
"MemoryProtoBook.swift",
"MetadataBook.swift",
"P2PDiscovery.swift",
"PeerStore.swift",
"ProtoBook.swift"
],
"target_dependencies" : [
"P2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PDCUtRTests",
"module_type" : "SwiftTarget",
"name" : "P2PDCUtRTests",
"path" : "Tests/Protocols/DCUtRTests",
"sources" : [
"DCUtRIntegrationTests.swift",
"DCUtRProtobufTests.swift",
"DCUtRServiceTests.swift",
"HolePunchServiceTests.swift"
],
"target_dependencies" : [
"P2PDCUtR",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PDCUtR",
"module_type" : "SwiftTarget",
"name" : "P2PDCUtR",
"path" : "Sources/Protocols/DCUtR",
"product_memberships" : [
"P2PDCUtR",
"P2P",
"PingPongDemo"
],
"sources" : [
"AddressFiltering.swift",
"DCUtRError.swift",
"DCUtREvent.swift",
"DCUtRMessages.swift",
"DCUtRProtobuf.swift",
"DCUtRProtocol.swift",
"DCUtRService.swift",
"HolePunchService.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2PCoreTests",
"module_type" : "SwiftTarget",
"name" : "P2PCoreTests",
"path" : "Tests/Core/P2PCoreTests",
"sources" : [
"BandwidthReporterTests.swift",
"CodecCapTests.swift",
"CollectionPartialSortTests.swift",
"DNSResolverTests.swift",
"EnvelopeTests.swift",
"EventBroadcasterTests.swift",
"EventBusTests.swift",
"EventChannelTests.swift",
"LRUOrderTests.swift",
"MetricsExporterTests.swift",
"MultiaddrClassificationTests.swift",
"MultiaddrTests.swift",
"MultihashTests.swift",
"PeerIDTests.swift",
"PeerRecordTests.swift",
"ProtobufLiteTests.swift",
"WebRTCSignalingMessageTests.swift"
],
"target_dependencies" : [
"P2PCore",
"LibP2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PCore",
"module_type" : "SwiftTarget",
"name" : "P2PCore",
"path" : "Sources/Core/P2PCore",
"product_dependencies" : [
"NetworkingFoundationCompat",
"Crypto",
"Logging",
"NIOCore",
"NIOFoundationCompat"
],
"product_memberships" : [
"P2PCore",
"P2PTransport",
"P2PSessionTransport",
"P2PTransportTCP",
"P2PTransportQUIC",
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PTransportWebSocket",
"P2PTransportMemory",
"P2PSecurity",
"P2PCertificate",
"P2PSecurityNoise",
"P2PSecurityPlaintext",
"P2PSecurityTLS",
"P2PPnet",
"P2PMux",
"P2PMuxYamux",
"P2PMuxMplex",
"P2PNegotiation",
"P2PDiscovery",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PDiscoveryBeacon",
"P2PDiscoveryWiFiBeacon",
"P2PNAT",
"P2PProtocols",
"P2PIdentify",
"P2PPing",
"P2PGossipSub",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PAutoNAT",
"P2PKademlia",
"P2PPlumtree",
"P2PRendezvous",
"P2PHTTP",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"Addressing/DNSResolver.swift",
"Addressing/Multiaddr.swift",
"Addressing/MultiaddrProtocol.swift",
"Addressing/SystemDNSResolver.swift",
"Compat/Base58DataCompat.swift",
"Compat/ByteArrayDataCompat.swift",
"Compat/HexEncodingDataCompat.swift",
"Compat/MultihashDataCompat.swift",
"Compat/ProtobufLiteDataCompat.swift",
"Compat/VarintDataCompat.swift",
"Connection/ByteConnection.swift",
"Connection/RawConnection.swift",
"Connection/SecuredConnection.swift",
"Events/EventBus.swift",
"Identity/KeyPair.swift",
"Identity/KeyType.swift",
"Identity/PeerID.swift",
"Identity/PrivateKey.swift",
"Identity/PublicKey.swift",
"Lifecycle/EventBroadcaster.swift",
"Lifecycle/EventChannel.swift",
"Lifecycle/EventDeliveryPolicy.swift",
"Lifecycle/EventDeliveryStatistics.swift",
"Lifecycle/EventEmitting.swift",
"Metrics/BandwidthReporter.swift",
"Metrics/MetricsExporter.swift",
"Metrics/PrometheusExporter.swift",
"P2PCore.swift",
"Record/Envelope.swift",
"Record/PeerRecord.swift",
"Record/SignedRecord.swift",
"Utilities/CollectionPartialSort.swift",
"Utilities/LRUOrder.swift",
"Utilities/LengthPrefixedFraming.swift"
],
"target_dependencies" : [
"LibP2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PCircuitRelayTests",
"module_type" : "SwiftTarget",
"name" : "P2PCircuitRelayTests",
"path" : "Tests/Protocols/CircuitRelayTests",
"sources" : [
"AutoRelayTests.swift",
"CircuitRelayE2ETests.swift",
"CircuitRelayIntegrationTests.swift",
"CircuitRelayProtobufTests.swift",
"RelayClientShutdownTests.swift",
"RelayServerTests.swift",
"RelayTransportTests.swift"
],
"target_dependencies" : [
"P2PCircuitRelay",
"P2PTransportMemory"
],
"type" : "test"
},
{
"c99name" : "P2PCircuitRelay",
"module_type" : "SwiftTarget",
"name" : "P2PCircuitRelay",
"path" : "Sources/Protocols/CircuitRelay",
"product_memberships" : [
"P2PCircuitRelay",
"P2P",
"PingPongDemo"
],
"sources" : [
"AutoRelay.swift",
"CircuitRelayError.swift",
"CircuitRelayEvent.swift",
"CircuitRelayMessages.swift",
"CircuitRelayProtobuf.swift",
"CircuitRelayProtocol.swift",
"Limit.swift",
"RelayClient.swift",
"RelayServer.swift",
"RelayedConnection.swift",
"Reservation.swift",
"ReservationVoucher.swift",
"Transport/RelayListener.swift",
"Transport/RelayTransport.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux",
"P2PTransport"
],
"type" : "library"
},
{
"c99name" : "P2PCertificateTests",
"module_type" : "SwiftTarget",
"name" : "P2PCertificateTests",
"path" : "Tests/Security/CertificateTests",
"product_dependencies" : [
"NetworkingCore",
"SSLX509",
"Crypto"
],
"sources" : [
"LibP2PCertificateDERTests.swift",
"LibP2PCertificateTests.swift"
],
"target_dependencies" : [
"P2PCertificate",
"P2PCore",
"LibP2PCore"
],
"type" : "test"
},
{
"c99name" : "P2PCertificate",
"module_type" : "SwiftTarget",
"name" : "P2PCertificate",
"path" : "Sources/Security/Certificate",
"product_dependencies" : [
"NetworkingCore",
"SSLX509",
"Crypto"
],
"product_memberships" : [
"P2PCertificate",
"P2PSecurityTLS"
],
"sources" : [
"LibP2PCertificate.swift",
"LibP2PCertificateError.swift"
],
"target_dependencies" : [
"P2PCore",
"LibP2PCore"
],
"type" : "library"
},
{
"c99name" : "P2PAutoNATTests",
"module_type" : "SwiftTarget",
"name" : "P2PAutoNATTests",
"path" : "Tests/Protocols/AutoNATTests",
"sources" : [
"AutoNATIntegrationTests.swift",
"AutoNATProtobufTests.swift",
"AutoNATServiceTests.swift",
"AutoNATv2Tests.swift",
"NATStatusTests.swift"
],
"target_dependencies" : [
"P2PAutoNAT",
"P2PCore",
"P2PMux",
"P2PProtocols"
],
"type" : "test"
},
{
"c99name" : "P2PAutoNAT",
"module_type" : "SwiftTarget",
"name" : "P2PAutoNAT",
"path" : "Sources/Protocols/AutoNAT",
"product_memberships" : [
"P2PAutoNAT",
"P2P",
"PingPongDemo"
],
"sources" : [
"AutoNATError.swift",
"AutoNATEvent.swift",
"AutoNATMessages.swift",
"AutoNATProtobuf.swift",
"AutoNATProtocol.swift",
"AutoNATService.swift",
"AutoNATv2Error.swift",
"AutoNATv2Messages.swift",
"AutoNATv2Service.swift",
"IPAddressClassifier.swift",
"NATStatus.swift"
],
"target_dependencies" : [
"P2PProtocols",
"P2PCore",
"P2PMux"
],
"type" : "library"
},
{
"c99name" : "P2P",
"module_type" : "SwiftTarget",
"name" : "P2P",
"path" : "Sources/Integration/P2P",
"product_memberships" : [
"P2P",
"PingPongDemo"
],
"sources" : [
"Connection/ConnectionEvent.swift",
"Connection/ConnectionID.swift",
"Connection/ConnectionPool.swift",
"Connection/ConnectionState.swift",
"Connection/ConnectionTrimReport.swift",
"Connection/ConnectionTrimmedContext.swift",
"Connection/DialBackoff.swift",
"Connection/HealthMonitor.swift",
"Dial/DefaultDialRanker.swift",
"Dial/DialRanker.swift",
"Dial/SmartDialer.swift",
"Metrics/BandwidthTrackedStream.swift",
"Network/BlackHoleDetector.swift",
"Network/ObservedAddressManager.swift",
"Network/PnetConnectionProtector.swift",
"NodeCompositionError.swift",
"NodeConnectionProvider.swift",
"NodeDiscoveryController.swift",
"NodeGroupBuilder.swift",
"NodePingProvider.swift",
"NodePrimitiveComponents.swift",
"NodeRuntime.swift",
"P2P.swift",
"PrivateWebRTC.swift",
"Relay/AutoRelayService.swift",
"Relay/AutoRelayServiceConfiguration.swift",
"Relay/AutoRelayServiceError.swift",
"Relay/AutoRelayServiceEvent.swift",
"Relay/RelayCandidateInfo.swift",
"Relay/RelayCandidateScore.swift",
"Relay/RelaySelector.swift",
"Relay/RelaySelectorConfiguration.swift",
"Relay/SupernodeService.swift",
"Relay/SupernodeServiceConfiguration.swift",
"Relay/SupernodeServiceEvent.swift",
"Resource/ConnectionResourceAccounting.swift",
"Resource/DefaultResourceManager.swift",
"Resource/NullResourceManager.swift",
"Resource/ResourceError.swift",
"Resource/ResourceLimitsConfiguration.swift",
"Resource/ResourceManager.swift",
"Resource/ResourceScope.swift",
"Resource/ResourceSnapshot.swift",
"Resource/ResourceStat.swift",
"Resource/ResourceTrackedStream.swift",
"Resource/ScopeLimits.swift",
"Resource/StreamResourceAccounting.swift",
"Swarm/BufferedMuxedStream.swift",
"Swarm/BufferedStreamReader.swift",
"Swarm/ConnectionConflictResolver.swift",
"Swarm/ProtocolHandlerSnapshot.swift",
"Swarm/ReconnectPlanner.swift",
"Swarm/StreamLifecycleCoordinator.swift",
"Swarm/Swarm.swift",
"Swarm/SwarmConfiguration.swift",
"Swarm/SwarmEvent.swift",
"Traversal/Mechanisms/DirectMechanism.swift",
"Traversal/Mechanisms/HolePunchMechanism.swift",
"Traversal/Mechanisms/LocalDirectMechanism.swift",
"Traversal/Mechanisms/RelayMechanism.swift",
"Traversal/Policies/DefaultTraversalPolicy.swift",
"Traversal/TraversalCandidate.swift",
"Traversal/TraversalConfiguration.swift",
"Traversal/TraversalContext.swift",
"Traversal/TraversalCoordinator.swift",
"Traversal/TraversalError.swift",
"Traversal/TraversalEvent.swift",
"Traversal/TraversalHintProvider.swift",
"Traversal/TraversalMechanism.swift",
"Traversal/TraversalPolicy.swift"
],
"target_dependencies" : [
"P2PCore",
"P2PTransport",
"P2PSessionTransport",
"P2PSecurity",
"P2PMux",
"P2PNegotiation",
"P2PDiscovery",
"P2PProtocols",
"P2PRuntime",
"P2PWebRTC",
"P2PTransportWebRTC",
"P2PTransportTCP",
"P2PSecurityNoise",
"P2PSecurityPlaintext",
"P2PMuxYamux",
"P2PPing",
"P2PGossipSub",
"P2PKademlia",
"P2PPlumtree",
"P2PIdentify",
"P2PAutoNAT",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PNAT",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PDiscoveryBeacon",
"P2PPnet"
],
"type" : "library"
},
{
"c99name" : "LibP2PNodeTests",
"module_type" : "SwiftTarget",
"name" : "LibP2PNodeTests",
"path" : "Tests/LibP2PNodeTests",
"product_dependencies" : [
"NetworkingCore",
"NetworkingDatagram",
"NetworkingTime",
"SSLCryptoContracts",
"SSLCrypto",
"SSLASN1",
"Crypto",
"QUIC",
"QUICConnectionEngineCore",
"QUICConnectionCore",
"QUICWire"
],
"sources" : [
"DataPathLoopbackTests.swift",
"MultiDialerTests.swift",
"MutualAuthTests.swift",
"NodeFacadeCapstoneTests.swift",
"PingIdentifyLiveTests.swift",
"PipeConnection.swift",
"QUICConnectionParametersTests.swift",
"QUICLiveLoopbackTests.swift",
"RPKCertEncodingTests.swift",
"TestClock.swift",
"TestLoopbackDatagramTransport.swift",
"TestQUICRuntime.swift",
"YamuxFrameTests.swift"
],
"target_dependencies" : [
"LibP2PNode",
"LibP2PCore"
],
"type" : "test"
},
{
"c99name" : "LibP2PNode",
"module_type" : "SwiftTarget",
"name" : "LibP2PNode",
"path" : "Sources/LibP2PNode",
"product_dependencies" : [
"NetworkingCore",
"NetworkingDatagram",
"NetworkingTime",
"TLSTypes",
"SSLCryptoContracts",
"SSLCrypto",
"QUIC",
"QUICTLS",
"SSLCore",
"SSLASN1",
"SSLX509",
"QUICConnectionEngineCore",
"QUICConnectionCore",
"QUICWire"
],
"product_memberships" : [
"LibP2PNode",
"P2PTransportQUIC"
],
"sources" : [
"BufferedMuxedStream.swift",
"ConnectionManager.swift",
"DemuxRoutedTransport.swift",
"IdentifyService.swift",
"LibP2PRPKCertificate.swift",
"LogShim.swift",
"MultistreamNegotiator.swift",
"MuxedStream.swift",
"MuxedStreamConnection.swift",
"Node.swift",
"NodeDialResult.swift",
"NodeError.swift",
"NodeIdentity.swift",
"NodeProtocolID.swift",
"NoiseIdentityVerification.swift",
"NoiseSecuredConnection.swift",
"NoiseUpgrader.swift",
"OwnedBytesMaterialization.swift",
"PendingStreamBuffer.swift",
"PingResult.swift",
"PingService.swift",
"ProtocolRouteSnapshot.swift",
"ProtocolRouter.swift",
"QUICConnectionParameters.swift",
"QUICStream.swift",
"QUICTLSHandshakeDriver.swift",
"QUICTransport.swift",
"RawConnection.swift",
"ServerDemultiplexer.swift",
"StreamNegotiation.swift",
"YamuxFrame.swift",
"YamuxMuxer.swift",
"YamuxStream.swift"
],
"target_dependencies" : [
"LibP2PCore"
],
"type" : "library"
},
{
"c99name" : "LibP2PCore",
"module_type" : "SwiftTarget",
"name" : "LibP2PCore",
"path" : "Sources/LibP2PCore",
"product_dependencies" : [
"NetworkingCore",
"SSLCryptoContracts",
"SSLCore",
"SSLASN1"
],
"product_memberships" : [
"LibP2PCore",
"P2PCore",
"LibP2PNode",
"P2PTransport",
"P2PSessionTransport",
"P2PTransportTCP",
"P2PTransportQUIC",
"P2PTransportWebRTC",
"P2PWebRTC",
"P2PTransportWebSocket",
"P2PTransportMemory",
"P2PSecurity",
"P2PCertificate",
"P2PSecurityNoise",
"P2PSecurityPlaintext",
"P2PSecurityTLS",
"P2PPnet",
"P2PMux",
"P2PMuxYamux",
"P2PMuxMplex",
"P2PNegotiation",
"P2PDiscovery",
"P2PDiscoveryMDNS",
"P2PDiscoverySWIM",
"P2PDiscoveryCYCLON",
"P2PDiscoveryPlumtree",
"P2PDiscoveryBeacon",
"P2PDiscoveryWiFiBeacon",
"P2PNAT",
"P2PProtocols",
"P2PIdentify",
"P2PPing",
"P2PGossipSub",
"P2PCircuitRelay",
"P2PDCUtR",
"P2PAutoNAT",
"P2PKademlia",
"P2PPlumtree",
"P2PRendezvous",
"P2PHTTP",
"P2PRuntime",
"P2P",
"PingPongDemo"
],
"sources" : [
"AutoNATCodec.swift",
"AutoNATv2Codec.swift",
"Base58.swift",
"CircuitRelayCodec.swift",
"DCUtRCodec.swift",
"GossipSubCodec.swift",
"HexEncoding.swift",
"IPAddress.swift",
"IPv6Compression.swift",
"IdentifyCodec.swift",
"KademliaCodec.swift",
"LibP2PCertificateDER.swift",
"LibP2PIdentity.swift",
"LibP2PSignedKeyDER.swift",
"MultiaddrCodec.swift",
"Multihash.swift",
"MultistreamCodec.swift",
"NoiseCipherStateCore.swift",
"NoiseCryptoError.swift",
"NoiseFraming.swift",
"NoiseHandshakeCore.swift",
"NoiseKeyAgreementCore.swift",
"NoisePayloadCodec.swift",
"NoiseSymmetricStateCore.swift",
"PeerIDFraming.swift",
"PingCodec.swift",
"PlumtreeCodec.swift",
"ProtobufLite.swift",
"PublicKeyProtobuf.swift",
"UTF8Strict.swift",
"Varint.swift",
"WebRTCSignalingMessage.swift"
],
"type" : "library"
}
],
"tools_version" : "6.4"
}
Done.