diff --git a/add-rendezvous-metrics/libp2p/protobuf/minprotobuf.html b/add-rendezvous-metrics/libp2p/protobuf/minprotobuf.html new file mode 100644 index 000000000..2bf0b2d3f --- /dev/null +++ b/add-rendezvous-metrics/libp2p/protobuf/minprotobuf.html @@ -0,0 +1,941 @@ + + + + + + + + + + + + + + + + + + +libp2p/protobuf/minprotobuf + + + + + + + + +
+
+

libp2p/protobuf/minprotobuf

+
+
+
+ +     Dark Mode +
+ +
+ Search: +
+
+ Group by: + +
+ + + +
+   Source +  Edit + +
+
+ +

This module implements minimal Google's ProtoBuf primitives.

+ +
+

Types

+
+
+
ProtoBuffer = object
+  options: set[ProtoFlags]
+  buffer*: seq[byte]
+  offset*: int
+  length*: int
+  maxSize*: uint
+
+
+ +Protobuf's message representation object +  Source +  Edit + +
+
+
+
ProtoError {.pure.} = enum
+  VarintDecode, MessageIncomplete, BufferOverflow, MessageTooBig, BadWireType,
+  IncorrectBlob, RequiredFieldMissing
+
+ + +  Source +  Edit + +
+
+
+
ProtoField = object
+  index*: int
+  case kind*: ProtoFieldKind
+  of Varint:
+      vint*: uint64
+
+  of Fixed64:
+      vfloat64*: float64
+
+  of Length:
+      vbuffer*: seq[byte]
+
+  of Fixed32:
+      vfloat32*: float32
+
+  of StartGroup, EndGroup:
+      nil
+
+  
+
+ +Protobuf's message field representation object +  Source +  Edit + +
+
+
+
ProtoFieldKind = enum
+  Varint, Fixed64, Length, StartGroup, EndGroup, Fixed32
+
+ +Protobuf's field types enum +  Source +  Edit + +
+
+
+
ProtoFlags = enum
+  WithVarintLength, WithUint32BeLength, WithUint32LeLength
+
+ +Protobuf's encoding types +  Source +  Edit + +
+
+
+
ProtoHeader = object
+  wire*: ProtoFieldKind
+  index*: uint64
+
+
+ + +  Source +  Edit + +
+
+
+
ProtoResult[T] = Result[T, ProtoError]
+
+ + +  Source +  Edit + +
+
+
+
ProtoScalar = uint | uint32 | uint64 | zint | zint32 | zint64 | hint | hint32 |
+    hint64 |
+    float32 |
+    float64
+
+ + +  Source +  Edit + +
+
+ +
+
+

Consts

+
+
+
SupportedWireTypes = [0, 1, 2, 5]
+
+ + +  Source +  Edit + +
+
+ +
+
+

Procs

+
+
+
proc finish(pb: var ProtoBuffer) {....raises: [], public, ...tags: [].}
+
+ +Prepare protobuf's buffer pb for writing to stream. +  Source +  Edit + +
+
+
+
proc getField(pb: ProtoBuffer; field: int; output: var ProtoBuffer): ProtoResult[
+    bool] {.inline, ...raises: [], public, ...tags: [].}
+
+ + +  Source +  Edit + +
+
+
+
proc getField[T: byte | char](data: ProtoBuffer; field: int;
+                              output: var openArray[T]; outlen: var int): ProtoResult[
+    bool] {....raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getField[T: ProtoScalar](data: ProtoBuffer; field: int; output: var T): ProtoResult[
+    bool] {....raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getField[T: seq[byte] | string](data: ProtoBuffer; field: int;
+                                     output: var T): ProtoResult[bool] {.
+    ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getPackedRepeatedField[T: ProtoScalar](data: ProtoBuffer; field: int;
+    output: var seq[T]): ProtoResult[bool] {....raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getRepeatedField[T: ProtoScalar](data: ProtoBuffer; field: int;
+                                      output: var seq[T]): ProtoResult[bool] {.
+    ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getRepeatedField[T: seq[byte] | string](data: ProtoBuffer; field: int;
+    output: var seq[T]): ProtoResult[bool] {....raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getRequiredField[T](pb: ProtoBuffer; field: int; output: var T): ProtoResult[
+    void] {.inline, ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc getRequiredRepeatedField[T](pb: ProtoBuffer; field: int; output: var seq[T]): ProtoResult[
+    void] {.inline, ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc initProtoBuffer(data: openArray[byte]; offset = 0;
+                     options: set[ProtoFlags] = {}; maxSize = MaxMessageSize): ProtoBuffer {.
+    ...raises: [], public, ...tags: [].}
+
+ +Initialize ProtoBuffer with copy of data. +  Source +  Edit + +
+
+
+
proc initProtoBuffer(data: seq[byte]; offset = 0; options: set[ProtoFlags] = {};
+                     maxSize = MaxMessageSize): ProtoBuffer {....raises: [],
+    public, ...tags: [].}
+
+ +Initialize ProtoBuffer with shallow copy of data. +  Source +  Edit + +
+
+
+
proc initProtoBuffer(options: set[ProtoFlags] = {}; maxSize = MaxMessageSize): ProtoBuffer {.
+    ...raises: [], public, ...tags: [].}
+
+ +Initialize ProtoBuffer with new sequence of capacity cap. +  Source +  Edit + +
+
+
+
proc vsizeof(field: ProtoField): int {.inline, ...raises: [], public, ...tags: [].}
+
+ +Returns number of bytes required to store protobuf's field field. +  Source +  Edit + +
+
+
+
proc write(pb: var ProtoBuffer; field: int; value: ProtoBuffer) {.inline,
+    ...raises: [], public, ...tags: [].}
+
+ +Encode Protobuf's sub-message value and store it to protobuf's buffer pb with field number field. +  Source +  Edit + +
+
+
+
proc write[T: byte | char](pb: var ProtoBuffer; field: int; value: openArray[T]) {.
+    ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc write[T: ProtoScalar](pb: var ProtoBuffer; field: int; value: T) {.
+    ...raises: [], public.}
+
+ + +  Source +  Edit + +
+
+
+
proc writePacked[T: ProtoScalar](pb: var ProtoBuffer; field: int;
+                                 value: openArray[T]) {....raises: [], public.}
+
+ + +  Source +  Edit + +
+
+ +
+
+

Templates

+
+
+
template checkFieldNumber(i: int)
+
+ + +  Source +  Edit + +
+
+
+
template getLen(pb: ProtoBuffer): int
+
+ + +  Source +  Edit + +
+
+
+
template getProtoHeader(field: ProtoField): uint64
+
+ +Get protobuf's field header integer for field. +  Source +  Edit + +
+
+
+
template getProtoHeader(index: int; wire: ProtoFieldKind): uint64
+
+ +Get protobuf's field header integer for index and wire. +  Source +  Edit + +
+
+
+
template getPtr(pb: ProtoBuffer): pointer
+
+ + +  Source +  Edit + +
+
+
+
template isEmpty(pb: ProtoBuffer): bool
+
+ + +  Source +  Edit + +
+
+
+
template isEnough(pb: ProtoBuffer; length: int): bool
+
+ + +  Source +  Edit + +
+
+
+
template toOpenArray(pb: ProtoBuffer): untyped
+
+ + +  Source +  Edit + +
+
+ +
+ + +
+
+ +
+ +
+
+
+ + + diff --git a/add-rendezvous-metrics/libp2p/utility.html b/add-rendezvous-metrics/libp2p/utility.html index a4a9162ab..01272669d 100644 --- a/add-rendezvous-metrics/libp2p/utility.html +++ b/add-rendezvous-metrics/libp2p/utility.html @@ -212,10 +212,25 @@ window.addEventListener("DOMContentLoaded", main2);
  • Templates