/// <summary> /// Creates a machine creation info. /// </summary> /// <param name="index">Index</param> /// <param name="creator">MachineId</param> /// <param name="mid">MachineId</param> /// <returns>MachineId</returns> internal static MachineActionInfo CreateMachineCreationInfo(int index, MachineId creator, MachineId mid) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.MachineCreationInfo; actionInfo.MachineId = creator.Value; actionInfo.createdMachineId = mid; actionInfo.TaskId = -5; actionInfo.Previous = null; actionInfo.Next = null; return(actionInfo); }
/// <summary> /// Determines whether the specified System.Object is equal /// to the current System.Object. /// </summary> /// <param name="obj">Object</param> /// <returns>Boolean</returns> public override bool Equals(object obj) { if (obj == null) { return(false); } MachineActionInfo info = obj as MachineActionInfo; if (info == null) { return(false); } return(this.Index == info.Index); }
/// <summary> /// Creates a task creation info. /// </summary> /// <param name="index">Index</param> /// <param name="mid">MachineId</param> /// <param name="taskId">Task id</param> /// <param name="taskMachineId">MachineId</param> /// <returns>MachineActionInfo</returns> internal static MachineActionInfo CreateTaskCreationInfo(int index, MachineId mid, int taskId, MachineId taskMachineId) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.TaskMachineCreation; actionInfo.MachineId = mid.Value; actionInfo.TaskId = taskId; actionInfo.TaskMachineId = taskMachineId; actionInfo.Previous = null; actionInfo.Next = null; return(actionInfo); }
/// <summary> /// Creates a send action info. /// </summary> /// <param name="index">Index</param> /// <param name="mid">MachineId</param> /// <param name="targetMachineId">Target MachineId</param> /// <param name="e">Event</param> /// <param name="sendId">Send id</param> /// <returns>MachineActionInfo</returns> internal static MachineActionInfo CreateSendActionInfo(int index, MachineId mid, MachineId targetMachineId, Event e, int sendId) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.SendAction; actionInfo.MachineId = mid.Value; actionInfo.TargetMachineId = targetMachineId.Value; actionInfo.SendEventName = e.GetType().FullName; actionInfo.EventId = e.GetHashCode(); actionInfo.SendId = sendId; actionInfo.TaskId = -5; actionInfo.Previous = null; actionInfo.Next = null; return(actionInfo); }
/// <summary> /// Creates an invocation action info. /// </summary> /// <param name="index">Index</param> /// <param name="mid">MachineId</param> /// <param name="actionName">Action name</param> /// <param name="actionId">Action id</param> /// <param name="receivedEvent">Event</param> /// <returns>MachineActionInfo</returns> internal static MachineActionInfo CreateInvocationActionInfo(int index, MachineId mid, string actionName, int actionId, Event receivedEvent) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.InvocationAction; actionInfo.MachineId = mid.Value; actionInfo.ActionName = actionName; actionInfo.ActionId = actionId; if (receivedEvent != null) { actionInfo.EventId = receivedEvent.GetHashCode(); actionInfo.EventName = receivedEvent.GetType().FullName; } actionInfo.TaskId = -5; actionInfo.Previous = null; actionInfo.Next = null; return(actionInfo); }
/// <summary> /// Creates a send action info. /// </summary> /// <param name="index">Index</param> /// <param name="mid">MachineId</param> /// <param name="targetMachineId">Target MachineId</param> /// <param name="e">Event</param> /// <param name="sendId">Send id</param> /// <returns>MachineActionInfo</returns> internal static MachineActionInfo CreateSendActionInfo(int index, MachineId mid, MachineId targetMachineId, Event e, int sendId) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.SendAction; actionInfo.MachineId = mid.Value; actionInfo.TargetMachineId = targetMachineId.Value; actionInfo.EventName = e.GetType().FullName; actionInfo.EventId = e.GetHashCode(); actionInfo.SendId = sendId; actionInfo.Previous = null; actionInfo.Next = null; return actionInfo; }
/// <summary> /// Creates an invocation action info. /// </summary> /// <param name="index">Index</param> /// <param name="mid">MachineId</param> /// <param name="actionName">Action name</param> /// <param name="actionId">Action id</param> /// <returns>MachineActionInfo</returns> internal static MachineActionInfo CreateInvocationActionInfo(int index, MachineId mid, string actionName, int actionId) { var actionInfo = new MachineActionInfo(); actionInfo.Index = index; actionInfo.Type = MachineActionType.InvocationAction; actionInfo.MachineId = mid.Value; actionInfo.ActionName = actionName; actionInfo.ActionId = actionId; actionInfo.Previous = null; actionInfo.Next = null; return actionInfo; }