Class FastPathViews.MethodPathByteView
java.lang.Object
dev.relism.flash.routing.routers.fastpathrouter.FastPathViews.MethodPathByteView
- All Implemented Interfaces:
dev.relism.fpr.core.ByteView
- Enclosing class:
FastPathViews
public static final class FastPathViews.MethodPathByteView
extends Object
implements dev.relism.fpr.core.ByteView
Mutable composite view: method bytes + path. Reused per connection, call
reset(byte[], dev.relism.fpr.core.ByteView)
Unlike every other view in this file, this one is a composite of two independent sources
(a raw byte[] for the method, and another ByteView — itself possibly
array-backed — for the path). There is no single backing array a word-at-a-time read could
span, and a byte index near the method/path boundary could straddle both sources entirely,
making a single contiguous 8-byte read structurally impossible in general (not merely
unimplemented) — the same reasoning SegmentedByteView
documents for the analogous HPACK CONTINUATION case. Falls back to the inherited
ByteView.supportsLong() default (false); fpr-core's router-matching
path already handles that correctly (it only takes the word-at-a-time branch when
supportsLong() is true).-
Constructor Details
-
MethodPathByteView
public MethodPathByteView()
-
-
Method Details
-
reset
public void reset(byte[] method, dev.relism.fpr.core.ByteView path) -
length
public int length()- Specified by:
lengthin interfacedev.relism.fpr.core.ByteView
-
byteAt
public byte byteAt(int index) - Specified by:
byteAtin interfacedev.relism.fpr.core.ByteView
-