Beispiel #1
0
                protected internal override void SendTransition(Transport_SendFSMContext context, Send msg)
                {
                    Transport_SendFSM ctxt = context.Owner;


#if TRACE
                    Trace.WriteLine(
                        "LEAVING STATE   : Transport_SendFSM_SM.Sending");
#endif

                    Transport_SendFSMState endState = context.State;

#if TRACE
                    Trace.WriteLine(
                        "ENTER TRANSITION: Transport_SendFSM_SM.Transport_SendFSM_SM.Sending.SendTransition(, Send msg)");
#endif

                    context.ClearState();

                    try
                    {
                        ctxt.EnqueueAction(msg);
                    }
                    finally
                    {
#if TRACE
                        Trace.WriteLine(
                            "EXIT TRANSITION : Transport_SendFSM_SM.Transport_SendFSM_SM.Sending.SendTransition(, Send msg)");
#endif

                        context.State = endState;
                    }

                    return;
                }
                protected internal override void BroadcastLocalTransition(Transport_SendFSMContext context, BroadcastLocal msg)
                {
                    Transport_SendFSM ctxt = context.Owner;


#if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Transport_SendFSM_SM.Sending.BroadcastLocalTransition(, BroadcastLocal msg)");
#endif

                    Transport_SendFSMState endState = context.State;

                    context.ClearState();

                    try
                    {
                        ctxt.BroadcastLocalEnqueueAction(msg);
                    }
                    finally
                    {
                        context.State = endState;
                    }

                    return;
                }