mleku on Nostr: ah yes, and i forgot... if the events that are found, while the query still has a ...
ah yes, and i forgot... if the events that are found, while the query still has a standing subscription (ie, the limit was not reached, or the query was not CLOSEed) the client will receive the later-found events from the L2's background sync query... very often this will happen, and this will mean the Layer1 relay-cache is still delivering the data of the big shared event store in the same essential timeline as if the query results were always returned hot, except the order of the revived events won't be necessarily older than the ones that L1 already found...
it works, anyway. subscription model makes it workable, ultimately the concurrent channel-return model makes assumptions about time that don't need to hold for the pub/sub model... the clients don't really understand it, they just get pushed events tied to a filter that has a subscription id, they don't see the work or care about anything else, it is a channel model for the client anyway
Published at
2024-11-17 05:40:50Event JSON
{
"id": "f8d1990578e5f91bbc3a16592a13797bca98096bdb206da26359636fbde182f3",
"pubkey": "4c800257a588a82849d049817c2bdaad984b25a45ad9f6dad66e47d3b47e3b2f",
"created_at": 1731822050,
"kind": 1,
"tags": [
[
"e",
"eef0f83ce1705c4b03b45935f0b69cf08ee9d348a25a2c761ce275d348b3a7cb",
"wss://nostr.land/",
"root"
],
[
"e",
"4f262d321f540a718fc2c88885f10a219856c6814391d5b4cb151c6e46c1a391",
"wss://nostr.land/",
"reply"
],
[
"client",
"noStrudel",
"31990:266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5:1686066542546"
]
],
"content": "ah yes, and i forgot... if the events that are found, while the query still has a standing subscription (ie, the limit was not reached, or the query was not CLOSEed) the client will receive the later-found events from the L2's background sync query... very often this will happen, and this will mean the Layer1 relay-cache is still delivering the data of the big shared event store in the same essential timeline as if the query results were always returned hot, except the order of the revived events won't be necessarily older than the ones that L1 already found...\n\nit works, anyway. subscription model makes it workable, ultimately the concurrent channel-return model makes assumptions about time that don't need to hold for the pub/sub model... the clients don't really understand it, they just get pushed events tied to a filter that has a subscription id, they don't see the work or care about anything else, it is a channel model for the client anyway",
"sig": "f12fefb5ea9351da76fa6c78287d2d774df43b3d662e27dbe19c9dca59d8249f6961b92057c4eb9891f6295e3f49340f2089cf68ca118117a05e7cff5aefc672"
}