public void Message() { IMessage message = new MemoryMessage(); MessageEventArgs messageEventArgs = new MessageEventArgs(message); Assert.AreSame(message, messageEventArgs.Message); }
/// <summary> /// Collects memory usage stats and forwards to the <see cref="CollectMessage.Receivers"/> /// </summary> /// <param name="message"><see cref="CollectMessage"/></param> private void CollectStats(CollectMessage message) { _output.Tell(new SimpleMessage($"MemoryCollectionActor received collect dated {message.CollectUtc:dd/MM/yyyy HH:mm:ss}")); var wmiObject = new ManagementObjectSearcher("select * from Win32_OperatingSystem"); var memoryValues = wmiObject.Get().Cast <ManagementObject>().Select(mo => new { FreePhysicalMemory = Double.Parse(mo["FreePhysicalMemory"].ToString()), TotalVisibleMemorySize = Double.Parse(mo["TotalVisibleMemorySize"].ToString()) }).FirstOrDefault(); if (memoryValues != null) { var used = (memoryValues.TotalVisibleMemorySize - memoryValues.FreePhysicalMemory); var msg = new MemoryMessage(used); foreach (var r in message.Receivers) { r.Tell(msg); } } }