in tchannel-core/src/main/java/com/uber/tchannel/handlers/MessageFragmenter.java [58:84]
protected void writeFrames(
@NotNull ChannelHandlerContext ctx,
@NotNull RawMessage msg,
@NotNull List<Object> frames
) throws Exception {
List<ByteBuf> args = new ArrayList<>(3);
args.add(msg.getArg1());
args.add(msg.getArg2());
args.add(msg.getArg3());
CallFrame frame = null;
while (!args.isEmpty()) {
if (frame == null || frame.isPayloadFull()) {
frame = createFrame(msg, args.size());
}
frame.encodePayload(ctx.alloc(), args);
frames.add(
MessageCodec.encode(ctx.alloc(),
MessageCodec.encode(
ctx.alloc(),
frame
)
)
);
}
}