Download Game! Currently 128 players and visitors. Last logged in:NarcosisFloppyAnakinOxyd

Blitzer's Blog >> 71641

Back to blogs index
Posted: 04 Aug 2026 03:55 [ permalink ]
[+] COMMIT VALMIS: /mnt/mesh_root/services/omega-router/omega_router_v3.js

$ x-console router_v3 restart
[+] Console router_v3 terminated.
[+] Console router_v3 created and executed via Event-Driven wrapper in
/mnt/mesh_root/services/omega-router
$ x-console router_v3 tail
user@hauki-obs:/mnt/mesh_root/services/omega-router$ /tmp/x_console_start_route
r
_v3.sh
[OMEGA ROUTER] Keskushermosto (v3) kC$ynnissC$ portissa 28888
$B
$ {
> # Kurkista Kallen_Selain -jonon tilaa lennosta
curl "http://localhost:28888/api/omega/queue?id=Kallen_Selain"

# Pollaa yksittC$inen paketti itsellesi (TC$mC$ imitoi selaimen toimintaa)
curl "http://localhost:28888/api/omega/poll?id=Kallen_Selain"

# Massatuhoa kaikki jonoon jumittuneet paketit (panic-button!)
curl -X DELETE "http://localhost:28888/api/omega/queue?id=Kallen_Selain"
> }
{"status":"ok","count":0,"queue":[]}{"status":"empty"}{"status":"ok","deleted":
0}$B

TC$mC$ nC$yttC$C$ juuri siltC$ miltC$ pitC$C$kin! Rajapinnat toimivat
tC$ydellisesti ja vastaavat puhtaalla JSONilla kaatumisen sijaan.

Syy siihen, miksi sait vastaukseksi `{"status":"empty"}` ja `count:0`, on se,
ettC$ ehdimme jo edellisessC$ testissC$ ajaa ZFS Stream -kierroksen lC$pi,
jolloin `crm_stream_worker.py` pukkasi sen yhden asiakkaan (Testi Oy) putkeen,
mutta se katosi jonnekin tai arkistoitiin, koska selain ei ehtinyt noutaa
sitC$. Nyt kun poistit/nollasit jonot manuaalisesti ja kC$ynnistit reitittimen
uusiksi, `Kallen_Selain` -jono on tC$llC$ hetkellC$ odotetusti tC$ysin puhdas
ja tyhjC$.

### KytketC$C$n ympyrC$ kiinni: ZFS Stream Client

Nyt meillC$ on taustalla pyC6rimC$ssC$:

1. **OMEGA Router (28888)**: KC$sittelee pollauspyyntC6jC$.
2. **CRM Stream Worker (9011)**: Odottaa `OMG-REQ-SYNC` pyyntC6jC$ ja hakee
datan Magneettinauhalta.

Kirjoitetaan puhdas, isomorfinen MESH-BASIC -skripti, joka tekee tC$smC$lleen
sen, mitC$ selaimesi tulee taustalla tekemC$C$n. Se lC$hettC$C$ pyynnC6n ja
jC$C$ asynkroniseen `SLEEP` -silmukkaan pollaamaan reititintC$, kunnes kaikki
chunkit on valunut perille.

[GEM-EDITBOT-START]
TARGET FILE "/mnt/mesh_root/src/crm_sync.bas"
ENSURE LINES 22
REPLACE LINES 1 22 WITH BLOCK
10 REM === OMEGA P2P CLIENT (ZFS STREAMING) ===
20 LET NODE%(0x5F)ID = %(0x22)Kallen%(0x5F)Selain%(0x22)
30 PRINT %(0x22)[%(0x2A)] Lahetetaan OMG-REQ-SYNC pyynto...%(0x22)
40 LET REQ%(0x24) = %(0x27){%(0x22)head%(0x22):{%(0x22)id%(0x22):%(0x22)req%(0x
5F)syn%(0x5F)1%(0x22),%(0x22)type%(0x22):%(0x22)OMG-REQ-SYNC%(0x22),%(0x22)src%
(0x22):%(0x22)Kallen%(0x5F)Selain%(0x22)},%(0x22)payload%(0x22):{%(0x22)namespa
ce%(0x22):%(0x22)CRM/Customers%(0x22)}}%(0x27)
50 JS DEFINE %(0x22)trigger%(0x5F)sync%(0x22) %(0x22)async function(req) {
await fetch(%(0x27)http://localhost:28888/api/omega/inbox%(0x27),
{method:%(0x27)POST%(0x27), headers:{%(0x27)Content-Type%(0x27):%(0x27)applicat
ion/json%(0x27)}, body:req}); return %(0x27)ok%(0x27); }%(0x22)
60 JS CALL %(0x22)trigger%(0x5F)sync%(0x22) WITH REQ%(0x24) INTO STATUS
70 PRINT %(0x22)[%(0x2A)] Pyynto kuitattu. Aloitetaan ZFS Streaming
pollaus...%(0x22)
80 LET TOTAL%(0x5F)ROWS = 0
90 LET POLL%(0x5F)URL = %(0x22)http://localhost:28888/api/omega/poll?id=%(0x22)
 + NODE%(0x5F)ID
100 REM --- POLLAUS SILMUKKA ---
110 HTTP GET POLL%(0x5F)URL INTO RAW%(0x5F)STR
120 JSON PARSE RAW%(0x5F)STR INTO PACKET
130 IF PACKET[%(0x22)status%(0x22)] == %(0x22)empty%(0x22) THEN SLEEP 1 : GOTO
110
140 IF PACKET[%(0x22)head%(0x22)] == undefined THEN SLEEP 1 : GOTO 110
150 LET CHUNK = PACKET[%(0x22)payload%(0x22)][%(0x22)chunk%(0x22)]
160 LET TOTAL = PACKET[%(0x22)payload%(0x22)][%(0x22)total%(0x22)]
170 LET EV%(0x5F)COUNT = PACKET[%(0x22)payload%(0x22)][%(0x22)events%(0x22)][%(
0x22)length%(0x22)]
180 LET TOTAL%(0x5F)ROWS = TOTAL%(0x5F)ROWS + EV%(0x5F)COUNT
190 PRINT %(0x22)[+] Vastaanotettu Chunk %(0x22) + CHUNK + %(0x22)/%(0x22) +
TOTAL + %(0x22) (%(0x22) + EV%(0x5F)COUNT + %(0x22) rivia)%(0x22)
200 IF CHUNK < TOTAL THEN SLEEP 1 : GOTO 110
210 PRINT %(0x22)[%(0x2A)] ZFS Streaming valmis! Yhteensa %(0x22) +
TOTAL%(0x5F)ROWS + %(0x22) rivia ladattu lokaaliin puskuriin.%(0x22)
220 HALT
END BLOCK
[GEM-EDITBOT-END]

Voit jC$ttC$C$ stream_workerin auki taustalle (jos se ei vielC$ ole), ja
laukaista tC$mC$n testin x-mesh-basicilla:

```bash

```

TC$mC$n koodin taika on siinC$, ettC$ se on 100% P2P-luotettava. Jos reititin
(tai Magneettinauha) yskii, tai chunkkien tuottaminen hidastuu, `SLEEP 1`
silmukka varmistaa, ettei ohjelma tai alC)mpi solmu romahda, vaan se odottaa
kiltisti kunnes seuraava paketti tipahtaa OUT-jonoon.

Kerro heti, miltC$ "Vesiputous" nC$yttC$C$ BASIC-skriptin pC$C$tteellC$!
Nappaako se suoraan kiinni chunkkeihin?