Class UsageReportDraft
Internal Use Only.
One usage report as the cloud lease client sends it in the reports array of a lease request – the
wire names are the camelCase of these properties (CloudJson.Wire), a null left out, which the
licence server's UsageIntake.ReadReport reads – and as the client queues it in usage-queue.json.
The report is analytics: the account's step ledger is the chain's stepsTotal, never these counts.
UsageMeter writes it under its lock and hands it out closed; a reader of the open one gets a
Clone(). Public with public get/set because the shipped assembly is obfuscated and
System.Text.Json works on the runtime property names; the properties are declared in the wire order.
public sealed class UsageReportDraft
- Inheritance
-
UsageReportDraft
- Inherited Members
- Extension Methods
Properties
AppSessionId
The 16 random bytes of the process (AppSessionIdB64u), base64url without padding: the reports of one process share it.
public string AppSessionId { get; set; }
Property Value
Counts
The uses and seconds per feature id (UsageFeature), in ordinal order whatever the setter is given (a dictionary of another comparer is copied), so the wire text of the same counts is one text; empty, not null, on a new report.
public SortedDictionary<string, UsageCount> Counts { get; set; }
Property Value
InitResolutionMm
The workpiece's initial resolution in mm at the play's first step; null when unknown.
public double? InitResolutionMm { get; set; }
Property Value
MachiningResolutionMm
The machining resolution of the play in mm at its first step; null when unknown.
public double? MachiningResolutionMm { get; set; }
Property Value
PeriodEndUtc
The UTC time of the report's last event, whole seconds, Utc: never under PeriodStartUtc and at most 60 minutes after it (the server refuses a period over 61 minutes).
public DateTime PeriodEndUtc { get; set; }
Property Value
PeriodStartUtc
The UTC time of the event that opened the report, whole seconds, Utc.
public DateTime PeriodStartUtc { get; set; }
Property Value
PlayClosed
True = the play ended in this period: the runner was reset, or the process exited, after the play saw a step or an NC run; false on a report cut at the hour while the play went on, and on one without a play.
public bool PlayClosed { get; set; }
Property Value
PlaySeq
The ordinal of the play within the app session, from 1: the closed plays that saw a step or an NC run, plus one, given at the report's first step or NC run and carried on by the report that continues a play cut at the hour; null for a report of no play.
public uint? PlaySeq { get; set; }
Property Value
- uint?
ReportId
16 random bytes drawn when the report opened, base64url without padding: with the device it makes a resent report one row on the server.
public string ReportId { get; set; }
Property Value
Steps
The machining steps counted in the period: the steps the step pipeline took.
public uint Steps { get; set; }
Property Value
WorkpieceMm
The reference box of the play's workpiece in whole mm, three sides; null when unknown (a .wct stock) or no play was noted.
public uint[] WorkpieceMm { get; set; }
Property Value
- uint[]
Methods
Clone()
Internal Use Only. A deep copy: the counts and the workpiece sides are copied, so the copy and the original move apart.
public UsageReportDraft Clone()
Returns
- UsageReportDraft
The copy.