From: Richard H. <rj...@za...> - 2017-04-09 00:19:19
|
> However, that break if (ptr + 2 >= msgEnd) has always I think I added some more checks and fixed the ones that were there. The problem that I tried to fix was failing silently and this was leading to mysterious things not being transmitted. It tends to vary especially when longer strings are transmitted (e.g. MP chat messages) I added the output deliberately to make the problem visible. It's not ideal that it is written with every packet - but I really didn't want to invest massive amounts of time into making the debug output super clever. The protocol does indeed transmit all properties in every packet. At this point I've only briefly looked at transmitting a subset - enough time to realise that it was going to be far more complex. The longer term direction I want to take is to extend the protocol to better handle Emesary notifications bridged over MP; it has significant advantages which I've covered previously. The use of weird properties "engine[9]/rpm" is a workaround for the limited number of generic properties available. > enough if we are going to try to transmit everything, every > time... There is always going to be a whole set of properties that do need to be transmitted in every frame. The next set of properties are the current state of a whole raft of things that just don't change that often. The suggestion of sending these fragmented across frame is something that has been discussed; but it would need support from the models to work effectively, otherwise you'd get out of sequence animations[1] where a number of properties are used. An example of this is the nozzle, burner, and flame on the F-15 these are a set of properties that work together[2]. So I'm reluctant to instigate a set of changes that I know is probably going to break things aircraft side. > How can we deal with this? Maybe you are already working > on this... How can I help? This set of changes to MP is finished (apart from tweaks) from my perspective. The next steps I'd take, as outlined above, are better Emesary support in the core and over MP. At the moment you can happily bridge notifications over MP from Nasal - I've got a WIP that will demonstrate this. --------------------------------------- [1] irritating rather than serious; but still wrong. [2] next time I'd probably pack these all into a single property |