跳转至

std.pb

tier: core

protobuf 线格式编解码(P7-B;T1 档:零 use 纯函数,无 IO 无时钟)

形态纪律(router/log 同款零 use 纯模块):字节道 = &I64[] lane(每字节一条 I64,0..255;I8-typedef 列 P9);写面 = (buf,cap,pos) 游标返新 pos,越界 返 -1;读面 = 值 struct PbField 游标(http parse 同款,rc 1=字段/0=EOF/ -1=坏)。P8 Connect 桥与 P7 OTLP/HTTP 的共同地基。

线格式(protobuf encoding,字段号 1 起,wire 类型): 0 = varint(int32/int64/uint32/uint64/sint/bool/enum) 1 = 64-bit / 5 = 32-bit(fixed/float 族——v1 不做,OTLP v1 span 面不需要, 志向登记) 2 = length-delimited(string/bytes/嵌套 message) 3/4 = group(已废弃)→ 读面拒 varint:每字节低 7 位,最高位续行;≤10 字节。负 int64 = 10 字节规范形 (补码 64 位);解码 v1 只收 <2^63(9 组;规范形负数 10 组拒,OTLP 正值域 足够,登记志向)。 【Ctron 算术纪律(为什么满屏 %///)】本语言无位运算算符(& = 借用符;| ^ 非法,2026-09-25 实证 divergences 在册)——位运算一律算术等价:低 7 位 = %128、移位 = /除 128 幂链、continuation = +128;常量经 zseed 播种 (crypto.ct z64 同款宽域惯例,防字面量类型标签假阳)。 分层准入(宪章 v2 四问):零依赖/纯函数/无平台面/与 enc·json 同类 —— T1。

pub struct

struct PbField

读面字段结果:rc(1/0/-1)+ 字段号/wire/值 + 载荷窗口 [start, ln) + 推进后 pos

Field Type
rc I64
field I64
wire I64
v I64
start I64
ln I64
pos I64

struct PbRd

varint 单值读结果:rc + 值 + 推进后位置

Field Type
rc I64
v I64
np I64

pub fn

Signature Returns Description
pb_w_varint() I64 wire 类型码 0(varint 族)
pb_w_64bit() I64 wire 类型码 1(64-bit fixed 族;v1 写面不做,志向登记)
pb_w_ld() I64 wire 类型码 2(length-delimited:string/bytes/嵌套 message)
pb_w_32bit() I64 wire 类型码 5(32-bit fixed 族;v1 写面不做,志向登记)
pb_rc_field() I64 读面 rc:读到字段
pb_rc_eof() I64 读面 rc:输入耗尽
pb_rc_bad() I64 读面 rc:线格式坏(group 废弃形/wire 未知/varint 越界)
pb_put_varint(buf: &[I64], cap: I64, pos: I64, v: I64) I64 varint 写(负数委 varneg 10 字节规范形;正数 9 组直排 + 地板除链)
pb_put_varneg(buf: &[I64], cap: I64, pos: I64, v: I64) I64 负数规范形:10 字节(地板 7 位链;组 0..8 恒续行,组 9 恒 1)
pb_put_tag(buf: &[I64], cap: I64, pos: I64, field: I64, wire: I64) I64 tag = field*8 + wire(varint 写)
pb_put_i64(buf: &[I64], cap: I64, pos: I64, field: I64, v: I64) I64 wire0:有符号 64(负数 10 字节规范形)
pb_put_sint(buf: &[I64], cap: I64, pos: I64, field: I64, v: I64) I64 wire0:sint(zigzag;正负分路等价形,Ctron 无 ^)
pb_put_bool(buf: &[I64], cap: I64, pos: I64, field: I64, b: Bool) I64 wire0:bool
pb_put_i64fixed(buf: &[I64], cap: I64, pos: I64, field: I64, v: I64) I64 wire1:fixed64(8 字节小端;OTLP 时间戳面。精确除链取位:负数安全)
pb_put_bytes(buf: &[I64], cap: I64, pos: I64, field: I64, src: &[I64], slen: I64) I64 wire2:length-delimited(lane 源)
pb_put_str(buf: &[I64], cap: I64, pos: I64, field: I64, s: Str) I64 wire2:Str 源(字节逐个;UTF-8 透传)
pb_next(buf: &[I64], n: I64, pos: I64) PbField 单字段游标:v(varint 原值)/start·len(ld 载荷窗)/pos(下字段起点)
pb_str(buf: &[I64], f: PbField) Str ld 载荷 → Str(printable 透传面;OTLP v1 字段名 ASCII 口径,UTF-8 全保真列志向)
pb_zag(z: I64) I64 zigzag 反变换(正偶/正奇分路形)