Skip to content

sco_net_v1.get_peers

The session’s peers, self first, then by id. *inout_count holds out’s capacity on entry (out may be NULL with 0) and the number of peers on return; up to the capacity are written. SCO_TOO_MANY: more peers than the capacity (the first ones were written). SCO_OK with 0 when no session is active. SCO_BAD_ARG: inout_count NULL, or out NULL with a nonzero capacity. Element-count handshake, not bytes: writes min(capacity,total) and returns total in inout_count; no session means OK/0.

sco_result (*)(sco_net_peer *, uint32_t *)

Service index

Property Value
Symbol sco_net_v1.get_peers
Record ID sco-net-v1-get-peers
Service sco.net
Table sco_net_v1
Version macro SCO_NET_VERSION_1_0
Packed table version 65536
Since / availability size >= 24; 1.0
Complete member extent (x64 bytes) 24
Table size (x64 bytes) 64

Header source

sco_result (*get_peers)(sco_net_peer* out, uint32_t* inout_count);
The session’s peers, self first, then by id. *inout_count holds out’s capacity on entry (out may be NULL with 0) and the number of peers on return; up to the capacity are written. SCO_TOO_MANY: more peers than the capacity (the first ones were written). SCO_OK with 0 when no session is active. SCO_BAD_ARG: inout_count NULL, or out NULL with a nonzero capacity. Element-count handshake, not bytes: writes min(capacity,total) and returns total in inout_count; no session means OK/0.

Absent table: query_service NOT_FOUND. Stopped result methods: UNAVAILABLE; self-taking methods reject invalid/released self with BAD_ARG; allocation exceptions: TOO_MANY. Additional failures/output state unspecified unless described in the buffer contract.

Absent table: query_service NOT_FOUND.

Caller buffers; sends copied, callbacks borrow buf for call only. Host owns channels/messages; no allocation transfer.

Any thread; callbacks game thread. Callbacks may call any method in this table.

callbacks game thread.

Callbacks may call any method in this table.

No delivery cancellation API; ordinary unload/non-retained crash cleanup drops channels and queued messages. Retained-provider faults skip owner resource-release hooks and require restart; backing resources remain retained, not safe for cached calls.

Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.

Language Catalogue status Source evidence / wrapper tokens
c direct include/sco_net.h
(*get_peers)
cpp typed-wrapper include/scosdk/net.hpp
const sco_result r = t_->get_peers(n ? out.data() : nullptr, &n);
csharp unsupported docs/sdk-csharp.md
There are no C# wrappers for sco.ipc and sco.net yet
lua unsupported docs/net.md
The C# (Sco.Sdk) and Lua layers come in a follow-up

None identified in the catalogue; this is not proof none can exist.

ABI pins prove layout, not semantic behavior or a live game session.