Deprecate SelfInfo packets in favour of something better
SelfInfo
packets were originally intended to be a quick fix for noticing that sometimes a blocked packet needs to be stored with additional info in order to be handled internally.
Originally I thought that Metaolm would only have to keep track of blocked packets and once an appropriate request/response from the client is received, it is forwarded. As the system evolved, Metaolm moved increasingly further from this original design idea. Now that Metaolm also handles much more complex routines, most of the blocked items that it has to keep track of are of the type SelfInfo
. This will only increase, proportionably to more complex cases being handled.
This has additional issues, in the sense that structs have to be serialised/deserialised constantly, as an M2CPacket can only hold string data, resulting in unnecessary error handling and overhead.
A better approach would be to remove SelfInfo
entirely and instead design a data object that can hold every blocked action in whole, probably with an enum.