We do have support for different address spaces, but, we do not have support for different sizing - everything is forced to u64. Having different sizing would be crucial for passing arbitrarily large sparse packets for processing. For instance, in memflow we have support for u128 address spaces. Something like that would be desirable here too.
I attempted to give this a stab, however, the problem appears to be rather difficult to solve with all the abstraction layers we have. We may need to bind a T: PacketIo to an additional supertrait that has an associated type for the packet size space. However, there is more research work to be done.
We do have support for different address spaces, but, we do not have support for different sizing - everything is forced to
u64. Having different sizing would be crucial for passing arbitrarily large sparse packets for processing. For instance, in memflow we have support for u128 address spaces. Something like that would be desirable here too.I attempted to give this a stab, however, the problem appears to be rather difficult to solve with all the abstraction layers we have. We may need to bind a
T: PacketIoto an additional supertrait that has an associated type for the packet size space. However, there is more research work to be done.