cs-codex-dist-tests/Tools/OverwatchTranscript/Model.cs

76 lines
1.9 KiB
C#
Raw Normal View History

namespace OverwatchTranscript
{
[Serializable]
public class Transcript
{
public Header Header { get; set; } = new();
public Event[] Events { get; set; } = Array.Empty<Event>();
}
[Serializable]
public class Header
{
public int TotalNumberOfNodes { get; set; }
}
[Serializable]
public class Event
{
public DateTime Utc { get; set; }
public ScenarioFinishedEvent? ScenarioFinished { get; set; }
public NodeStartedEvent? NodeStarted { get; set; }
public NodeStoppedEvent? NodeStopped { get; set; }
public FileUploadedEvent? FileUploaded { get; set; }
public FileDownloadedEvent? FileDownloaded { get; set; }
public BlockReceivedEvent? BlockReceived { get; set; }
}
#region Scenario Generated Events
[Serializable]
public class ScenarioFinishedEvent
{
public bool Success { get; set; }
public string Result { get; set; } = string.Empty;
}
[Serializable]
public class NodeStartedEvent
{
public string Name { get; set; } = string.Empty;
public string Image { get; set; } = string.Empty;
public string Args { get; set; } = string.Empty;
}
[Serializable]
public class NodeStoppedEvent
{
public string Name { get; set; } = string.Empty;
}
[Serializable]
public class FileUploadedEvent
{
public ulong ByteSize { get; set; }
public string Cid { get; set; } = string.Empty;
}
[Serializable]
public class FileDownloadedEvent
{
public string Cid { get; set; } = string.Empty;
}
#endregion
#region Codex Generated Events
[Serializable]
public class BlockReceivedEvent
{
public string BlockAddress { get; set; } = string.Empty;
public string PeerId { get; set; } = string.Empty;
}
#endregion
}