@gwigz/homunculus-core
Version:
A third-party framework for interacting with Linden Lab's virtual world "Second Life"
83 lines (82 loc) • 2.27 kB
TypeScript
/**
* ViewerStats Packet
*
* This file is used to help our packet serialization and deserialization
* process, and to create new packets on the fly.
*
* ⚠️ Do not edit this file manually, it is generated by the `codegen` script!
*
* @see {@link http://wiki.secondlife.com/wiki/Message_Layout}
*/
import { F32, F64, IP, U32, Variable1 } from "../types";
import { type PacketMetadata } from "./packet";
export interface ViewerStatsData {
agentData: {
agentId?: string;
sessionId?: string;
ip: IP;
startTime: number;
runTime: number;
simFps: number;
fps: number;
agentsInView: number;
ping: number;
metersTraveled: number;
regionsVisited: number;
sysRam: number;
sysOs: string | Buffer;
sysCpu: string | Buffer;
sysGpu: string | Buffer;
};
downloadTotals?: {
world: number;
objects: number;
textures: number;
};
netStats?: {
bytes: number;
packets: number;
compressed: number;
savings: number;
}[];
failStats?: {
sendPacket: number;
dropped: number;
resent: number;
failedResends: number;
offCircuit: number;
invalid: number;
};
miscStats?: {
type: number;
value: number;
}[];
}
export declare const viewerStatsMetadata: {
id: number;
name: string;
frequency: 2;
compression: true;
blocks: ({
name: string;
parameters: ([string, typeof Variable1] | [string, typeof IP] | [string, typeof F32])[];
multiple?: undefined;
size?: undefined;
} | {
name: string;
parameters: [string, typeof U32][];
multiple: true;
size: number;
} | {
name: string;
parameters: ([string, typeof U32] | [string, typeof F64])[];
multiple: true;
size?: undefined;
})[];
};
export declare const viewerStats: (data: ViewerStatsData, reliable?: boolean) => {
data: ViewerStatsData;
reliable: boolean | undefined;
metadata: PacketMetadata;
};
export declare const createViewerStatsDelegate: (config: Omit<import("..").DelegateConfig<ViewerStatsData>, "metadata">) => void;