package hprose.example.filterhandler.size; import hprose.common.FilterHandler; import hprose.common.HproseContext; import hprose.common.NextFilterHandler; import hprose.util.concurrent.Promise; import java.nio.ByteBuffer; public class SizeHandler implements FilterHandler { private final String message; public SizeHandler(String message) { this.message = message; } @Override public Promise<ByteBuffer> handle(ByteBuffer request, HproseContext context, NextFilterHandler next) { System.out.println(message + " request size: " + request.remaining()); Promise<ByteBuffer> response = next.handle(request, context); response.then((ByteBuffer data) -> { System.out.println(message + " response size: " + data.remaining()); }); return response; } }