feat(core): modems run — the pair in the project, and a modem of another project hands its frames on (K0–K2)
Measured first: tools/java-oracle's ModemRun joins two networks by a pair of Java modems over TCP on localhost. The modem has no card and adds no delay of its own — a frame takes the cables on both sides, nothing more. The core pairs the two enabled modems on a port (Swift's inProject, with its conditions and cycle suppression) on Java's timing: no 20 ms. The modem example of FILIUS now pings through instead of failing the core. A modem of another project (relay) gives its frames to whoever runs the engine and puts on its cable what comes back, with this engine's frame and packet numbers; a frame dies after MAXIMUM_RELAY_HOPS trips. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"seed": 67,
|
||||
"nodes": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000401",
|
||||
"kind": "pc",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000411",
|
||||
"label": "eth0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000403",
|
||||
"kind": "pc",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000413",
|
||||
"label": "eth0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000407",
|
||||
"kind": "pc",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000417",
|
||||
"label": "eth0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000404",
|
||||
"kind": "networkSwitch",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000441",
|
||||
"label": "sw1"
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000442",
|
||||
"label": "sw2"
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000443",
|
||||
"label": "sw3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000405",
|
||||
"kind": "remoteLink",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000451",
|
||||
"label": "remote0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000406",
|
||||
"kind": "remoteLink",
|
||||
"ports": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-000000000461",
|
||||
"label": "remote0"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-00000000F401",
|
||||
"sourceNode": "00000000-0000-0000-0000-000000000401",
|
||||
"sourcePort": "00000000-0000-0000-0000-000000000411",
|
||||
"targetNode": "00000000-0000-0000-0000-000000000404",
|
||||
"targetPort": "00000000-0000-0000-0000-000000000441"
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-00000000F402",
|
||||
"sourceNode": "00000000-0000-0000-0000-000000000407",
|
||||
"sourcePort": "00000000-0000-0000-0000-000000000417",
|
||||
"targetNode": "00000000-0000-0000-0000-000000000404",
|
||||
"targetPort": "00000000-0000-0000-0000-000000000442"
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-00000000F403",
|
||||
"sourceNode": "00000000-0000-0000-0000-000000000404",
|
||||
"sourcePort": "00000000-0000-0000-0000-000000000443",
|
||||
"targetNode": "00000000-0000-0000-0000-000000000405",
|
||||
"targetPort": "00000000-0000-0000-0000-000000000451"
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-0000-0000-00000000F404",
|
||||
"sourceNode": "00000000-0000-0000-0000-000000000406",
|
||||
"sourcePort": "00000000-0000-0000-0000-000000000461",
|
||||
"targetNode": "00000000-0000-0000-0000-000000000403",
|
||||
"targetPort": "00000000-0000-0000-0000-000000000413"
|
||||
}
|
||||
],
|
||||
"devices": {
|
||||
"00000000-0000-0000-0000-000000000401": {
|
||||
"ip": "10.0.0.1",
|
||||
"mask": "255.255.255.0"
|
||||
},
|
||||
"00000000-0000-0000-0000-000000000403": {
|
||||
"ip": "10.0.0.2",
|
||||
"mask": "255.255.255.0"
|
||||
},
|
||||
"00000000-0000-0000-0000-000000000407": {
|
||||
"ip": "10.0.0.3",
|
||||
"mask": "255.255.255.0"
|
||||
}
|
||||
},
|
||||
"modems": {
|
||||
"00000000-0000-0000-0000-000000000405": {
|
||||
"mode": "server",
|
||||
"port": 12345
|
||||
},
|
||||
"00000000-0000-0000-0000-000000000406": {
|
||||
"mode": "client",
|
||||
"port": 12345
|
||||
}
|
||||
},
|
||||
"steps": []
|
||||
}
|
||||
Reference in New Issue
Block a user