scanner binding FDs destroy() shared buffer management zero allocations proxy types are enum(u32) write() for Request, read() for Event