ForgeMultipart icon indicating copy to clipboard operation
ForgeMultipart copied to clipboard

Client disconnection when part not found?

Open MrTJP opened this issue 11 years ago • 4 comments

Consider a scenario when a server multipart sends its stream over to the client. However, before it gets there, the multipart block is moved by a frame... Client is kicked by a 'client multipart not found' message. Perhaps something can be made to redirect packets?

MrTJP avatar Oct 30 '14 22:10 MrTJP

Most elegant solution I found to this is a mechanism to allow a manual flush of the queued multipart write streams.

MrTJP avatar Jun 15 '15 00:06 MrTJP

It would be nice if I read these more often, been very busy, anyway. The problem is that the network model is one of guarantees, and if the guarantee isn't met (that the packet reaches the tile on the client) anything could happen depending on the individual part implementation. Yes this is a disadvantage of sending deltas rather than complete states, but there's not much that can be done.

Consider more critical packets like addition and removal of parts. I see the issue is that the frame sends its movement packet immediately, but the multipart waits till the end of the tick, so they get out of order. Seems to be a disadvantage to my design, but I'm not sure what can be done about it.

Chicken-Bones avatar Jul 07 '15 05:07 Chicken-Bones

I don't think anything would be incorrect with being able to manually send the data during the tick. For example, before the tile is actually moved, if the data was sent, followed by a packet that actually moves the tile client-side, it would be read before the move.

MrTJP avatar Jul 13 '15 04:07 MrTJP

Aah right I understand now. You want a way to flush the multipart packets early so you can interleave your own. I'll think about a solution for this

Chicken-Bones avatar Jul 13 '15 06:07 Chicken-Bones