2014-05-15 23:05:20 +00:00
|
|
|
package org.capnproto;
|
|
|
|
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
|
|
2014-05-19 12:43:58 +00:00
|
|
|
public final class MessageReader {
|
2014-06-18 01:06:50 +00:00
|
|
|
final ReaderArena arena;
|
2014-05-15 23:05:20 +00:00
|
|
|
|
|
|
|
public MessageReader(ByteBuffer[] segmentSlices) {
|
2014-06-18 01:06:50 +00:00
|
|
|
this.arena = new ReaderArena(segmentSlices);
|
2014-05-15 23:05:20 +00:00
|
|
|
}
|
|
|
|
|
2014-10-08 02:35:08 +00:00
|
|
|
public <T> T getRoot(FromPointerReader<T> factory) {
|
2014-06-18 01:06:50 +00:00
|
|
|
SegmentReader segment = this.arena.tryGetSegment(0);
|
2014-10-08 15:12:52 +00:00
|
|
|
AnyPointer.Reader any = new AnyPointer.Reader(segment, 0, 0x7fffffff);
|
2014-10-08 02:35:08 +00:00
|
|
|
return any.getAs(factory);
|
2014-05-15 23:05:20 +00:00
|
|
|
}
|
|
|
|
}
|