public static IEnumerable <object[]> State_TestData() { yield return(new object[] { ServiceState.Ready, "READY=1" }); yield return(new object[] { ServiceState.Reloading, "RELOADING=1" }); yield return(new object[] { ServiceState.Stopping, "STOPPING=1" }); yield return(new object[] { ServiceState.Watchdog, "WATCHDOG=1" }); yield return(new object[] { ServiceState.Status("Loading"), "STATUS=Loading" }); yield return(new object[] { ServiceState.Errno(2), "ERRNO=2" }); yield return(new object[] { ServiceState.BusError("org.freedesktop.DBus.Error.TimedOut"), "BUSERROR=org.freedesktop.DBus.Error.TimedOut" }); yield return(new object[] { ServiceState.MainPid(4711), "MAINPID=4711" }); }
static void Main(string[] args) { AssemblyLoadContext.Default.Unloading += SigTermEventHandler; Console.CancelKeyPress += CancelHandler; Socket[] sockets = ServiceManager.GetListenSockets(); Socket socket = sockets[0]; Socket acceptSocket = socket.Accept(); ServiceManager.Notify(ServiceState.Ready, ServiceState.Status("Socket accepted")); NetworkStream stream = new NetworkStream(acceptSocket); using (var writer = new StreamWriter(stream)) { writer.WriteLine("This is a test"); } }
private static void SigTermEventHandler(AssemblyLoadContext obj) { ServiceManager.Notify(ServiceState.Stopping, ServiceState.Status("CTRL+C captured")); }
private static void CancelHandler(object sender, ConsoleCancelEventArgs e) { ServiceManager.Notify(ServiceState.Stopping, ServiceState.Status("SigTerm handled")); }
public static IEnumerable <object[]> Serialization_TestData() { yield return(new object[] { ServiceState.Ready, null, "READY=1" }); yield return(new object[] { ServiceState.Ready, new [] { ServiceState.Status("Started") }, "READY=1\nSTATUS=Started" }); }