+ class PendingWrite {
+ long pm;
+ long descriptor;
+ byte[] array;
+ PendingWrite(long pm, long descriptor, byte[] array) { this.pm = pm; this.descriptor = descriptor; this.array = array; }
+ void process() {
+ long res = bindings.PeerManager_read_event(pm, descriptor, array);
+ assert bindings.CResult_boolPeerHandleErrorZ_is_ok(res);
+ assert !bindings.CResult_boolPeerHandleErrorZ_get_ok(res);
+ bindings.CResult_boolPeerHandleErrorZ_free(res);
+ }
+ }
+ ConcurrentLinkedQueue<PendingWrite> pending_writes = new ConcurrentLinkedQueue<>();