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:
      length in interface dev.relism.fpr.core.ByteView
    • byteAt

      public byte byteAt(int index)
      Specified by:
      byteAt in interface dev.relism.fpr.core.ByteView