package org.apache.kerberos.kerb.common;
import org.apache.haox.transport.tcp.DecodingCallback;
import org.apache.haox.transport.tcp.StreamingDecoder;
import java.nio.ByteBuffer;
public class KrbStreamingDecoder implements StreamingDecoder {
@Override
public void decode(ByteBuffer streamingBuffer, DecodingCallback callback) {
if (streamingBuffer.remaining() >= 4) {
int len = streamingBuffer.getInt();
if (streamingBuffer.remaining() >= len) {
callback.onMessageComplete(len + 4);
} else {
callback.onMoreDataNeeded(len + 4);
}
} else {
callback.onMoreDataNeeded();
}
}
}