OxL Reference

fn keyBytes

The partition key bytes of a value (sharded by .field).

Example:

oxl✓ checked in CI
data OrderEvent {
  userId: u64
  seq: i64
}

topic OrderEvents: OrderEvent sharded by .userId

cluster demo {
  role store { journal }
}

fn main() -> () | TopicError io, db {
  OrderEvents.publish(OrderEvent{ userId: 7, seq: 0 })?
  OrderEvents.publish(OrderEvent{ userId: 7, seq: 1 })?
  var seen = ""
  for await e in OrderEvents.subscribeKey(7 as u64, from: .Earliest) {
    seen = "{seen}{e.seq},"
    if e.seq == 1 { break }
  }
  print(seen)
}
Output
0,1,
pub(api) fn keyBytes<K: Serializable>(k: &K) -> bytes

Complexity. O(size of the key).

Since. 1.0.0-beta

Parameters

NameType
k&K

Returns

bytes

Effects

none declared (pure unless the body says otherwise)

Defined in: std/topic/topic.oxl:157

See also