December 19, 2021•236 words
What I did: Layer 0 completing and Layer 1 design
Time spent: 101.167
Push based task interface. Within the network layer everything is pushed based. The frontend overall will be pull and push based. That is it can push an unlimited amount of things remotely and pull data on demand.
However the overall architecture for the backend is pull based just like CloudFlare which allows better control over work scaling and automatic load bearing and resources adjustment.
Network Layer 0 initial planning done.
Moving onto Layer 1 planning. This is more complicated since this houses the replay and SPacket tracking system. Over a long connection there could be hundreds or thousands of packets tracked here so everything has an expiry window. This means that things after a point will expire. So asking to resent a message > 15 minutes ago will return with a lost. Same with confirming a message that has been received that was sent more than 30 minutes. Ago.
Collectively there is a 300 item queue (that is shared between sending and receiving) to prevent memory overrunning. Thereby limiting bad servers from crashing the device.
Need to keep track of 10 byte numbers. Assuming 1024 is used every second. For a total of just over 1 million in an hour. Much over 2 million in two hours. All within a memory confined space of hopefully less than 1 KiB....