Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
        /// <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;
        }
Beispiel #7
0
        /// <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;
        }