本文整理汇总了C#中JTS.InternalEvent类的典型用法代码示例。如果您正苦于以下问题:C# InternalEvent类的具体用法?C# InternalEvent怎么用?C# InternalEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InternalEvent类属于JTS命名空间,在下文中一共展示了InternalEvent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: processTransitions
// This is the function that will process an event either generated
// by the service, sent to it by another service on the same component,
// or as a message sent by a different component.
public override bool processTransitions(InternalEvent ie)
{
bool done = false;
// Since this function can be called from multiple threads,
// we use a mutex to ensure only one state transition is
// active at a time.
mutex.WaitOne();
// Invoke the FSM transition for this event.
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("PingClient_PingClientFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new ReportHeartbeatPulse().getID())
{
ReportHeartbeatPulse msg = new ReportHeartbeatPulse();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pPingClient_PingClientFSM.context.ReportHeartbeatPulseTransition();
done = true;
}
}
} catch (Exception e) {}
mutex.ReleaseMutex();
return done;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:33,代码来源:PingClientService.cs
示例2: InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_InitTransition
public void InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_InitTransition(InternalEvent ie)
{
transition_ = "InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_InitTransition";
State.InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_InitTransition(this, ie);
transition_ = "";
return;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:7,代码来源:AdditionClientServiceDef_additionClientFSM_sm.cs
示例3: processTransitions
// This is the function that will process an event either generated
// by the service, sent to it by another service on the same component,
// or as a message sent by a different component.
public override bool processTransitions(InternalEvent ie)
{
bool done = false;
// Since this function can be called from multiple threads,
// we use a mutex to ensure only one state transition is
// active at a time.
mutex.WaitOne();
// Invoke the FSM transition for this event.
try
{
if (ie.getName().CompareTo("InitToReadyEventDef") == 0 && (ie.getSource().CompareTo("AdditionClientServiceDef_additionClientFSM") != 0) && (!done))
{
InitToReadyEventDef casted_ie = (InitToReadyEventDef) ie;
pAdditionClientServiceDef_additionClientFSM.context.InitToReadyEventDefTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_Ready") == 0 && (ie.getSource().CompareTo("AdditionClientServiceDef_additionClientFSM") != 0) && (!done))
{
pAdditionClientServiceDef_additionClientFSM.context.InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_ReadyTransition(ie);
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("AdditionClientServiceDef_additionClientFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new ReportAddition().getID())
{
ReportAddition msg = new ReportAddition();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pAdditionClientServiceDef_additionClientFSM.context.ReportAdditionTransition(msg);
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_Init") == 0 && (ie.getSource().CompareTo("AdditionClientServiceDef_additionClientFSM") != 0) && (!done))
{
pAdditionClientServiceDef_additionClientFSM.context.InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_InitTransition(ie);
done = true;
}
} catch (Exception e) {}
mutex.ReleaseMutex();
return done;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:61,代码来源:AdditionClientServiceDefService.cs
示例4: processInternalEvent
public override void processInternalEvent(InternalEvent ie)
{
// Invoke the FSM transition for this event. If no explicit transition
// is defined, try a default transition...
if (processTransitions(ie) == false)
{
defaultTransitions(ie);
}
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:9,代码来源:Service.cs
示例5: invoked
/// <summary>
/// Pulls the next event off of the queue and gives it to the service.
/// </summary>
/// <returns>the event to be started - an empty event if no events waiting</returns>
public InternalEvent invoked()
{
InternalEvent ie = new InternalEvent();
lock (Lock) {
if (internalEventQueue.Count != 0) {
ie = internalEventQueue.Dequeue ();
}
}
return ie;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:14,代码来源:InternalEventHandler.cs
示例6: processNotifications
/*
* Checks to see if an event triggers an notification
*/
public void processNotifications(string state, InternalEvent ie)
{
if (state.IndexOf(".") != -1)
state = state.Substring(state.LastIndexOf(".")+1);
for (int i=0; i < notifications.Count; i++)
{
if (notifications[i]._state == state)
{
// Note that we send a copy of the original internal event,
// since processing the event will delete it and we might
// still need the original for future notifications...
if (ie != null)
notifications[i]._handler.invoke( new InternalEvent(notifications[i]._event, ie.getSource()) );
else
notifications[i]._handler.invoke( new InternalEvent(notifications[i]._event, notifications[i]._source) );
}
}
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:21,代码来源:StateMachine.cs
示例7: processInternalEvent
public override void processInternalEvent(InternalEvent ie)
{
bool done = false;
//
// When a component receives an internal event, it passes it
// to the services to handling, children services first. If the
// event is not processed by normal transitions, it's passed
// again to the services (children first) for default transitions.
// A given event may only be processed by at most one service.
//
for (int i = serviceList.Count; i>0; i--)
{
if (!done) done = serviceList[i-1].processTransitions(ie);
}
for (int i = serviceList.Count; i>0; i--)
{
if (!done) done = serviceList[i-1].defaultTransitions(ie);
}
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:20,代码来源:PingComponent.cs
示例8: processNotifications
/*
* Checks to see if an event triggers an notification
*/
public void processNotifications(string state, InternalEvent ie)
{
if (state.IndexOf(".") != -1)
state = state.Substring(state.LastIndexOf(".")+1);
for (int i=0; i < notifications.Count; i++)
{
if (notifications[i]._state == state)
{
if ((ie != null) && (notifications[i]._event.IndexOf(ie.getSource()) > 0))
{
// ... this FSM was actually the CAUSE of the state change in the first place.
// In other words, detect the loop and don't send notification back to the
// original source of the transition. This stops a parent from notifying
// a child, who in turn notifies the parent, who in turn notifies the child ad nauseum.
}
else
{
// Ok... state change not caused by the target FSM, so send a notification to it.
notifications[i]._handler.invoke(new InternalEvent(notifications[i]._event, notifications[i]._source));
}
}
}
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:26,代码来源:StateMachine.cs
示例9: processTransitions
// This is the function that will process an event either generated
// by the service, sent to it by another service on the same component,
// or as a message sent by a different component.
public override bool processTransitions(InternalEvent ie)
{
bool done = false;
// Since this function can be called from multiple threads,
// we use a mutex to ensure only one state transition is
// active at a time.
mutex.WaitOne();
// Invoke the FSM transition for this event.
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("Events_ReceiveFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new QueryEvents().getID())
{
QueryEvents msg = new QueryEvents();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
Receive.Body.ReceiveRec transportData = casted_ie.getBody().getReceiveRec();
pEvents_ReceiveFSM.context.ReceiveTransition(msg, transportData);
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("Events_ReceiveFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new QueryEventTimeout().getID())
{
QueryEventTimeout msg = new QueryEventTimeout();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
Receive.Body.ReceiveRec transportData = casted_ie.getBody().getReceiveRec();
pEvents_ReceiveFSM.context.ReceiveTransition(msg, transportData);
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("Events_ReceiveFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new CreateEvent().getID())
{
CreateEvent msg = new CreateEvent();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
Receive.Body.ReceiveRec transportData = casted_ie.getBody().getReceiveRec();
pEvents_ReceiveFSM.context.ReceiveTransition(msg, transportData);
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("Events_ReceiveFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new CreateEvent().getID())
{
CreateEvent msg = new CreateEvent();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
Receive.Body.ReceiveRec transportData = casted_ie.getBody().getReceiveRec();
pEvents_ReceiveFSM.context.ReceiveTransition(msg, transportData);
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("Events_ReceiveFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new CreateEvent().getID())
{
CreateEvent msg = new CreateEvent();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
Receive.Body.ReceiveRec transportData = casted_ie.getBody().getReceiveRec();
pEvents_ReceiveFSM.context.ReceiveTransition(msg, transportData);
done = true;
}
//.........这里部分代码省略.........
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:101,代码来源:EventsService.cs
示例10: defaultTransitions
// This is the function that will check for default transitions if
// no other transitions were satisfied.
//
public override bool defaultTransitions(InternalEvent ie)
{
bool done = false;
// Since this function can be called from multiple threads,
// we use a mutex to ensure only one state transition is
// active at a time.
mutex.WaitOne();
// Invoke the FSM transition for this event.
try
{
if (ie.getName().CompareTo("Send") == 0 && (ie.getSource().CompareTo("Transport_ReceiveFSM") != 0) && (!done))
{
Send casted_ie = (Send) ie;
pTransport_ReceiveFSM.context.SendTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("BroadcastLocal") == 0 && (ie.getSource().CompareTo("Transport_ReceiveFSM") != 0) && (!done))
{
BroadcastLocal casted_ie = (BroadcastLocal) ie;
pTransport_ReceiveFSM.context.BroadcastLocalTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("BroadcastGlobal") == 0 && (ie.getSource().CompareTo("Transport_ReceiveFSM") != 0) && (!done))
{
BroadcastGlobal casted_ie = (BroadcastGlobal) ie;
pTransport_ReceiveFSM.context.BroadcastGlobalTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Send") == 0 && (ie.getSource().CompareTo("Transport_SendFSM") != 0) && (!done))
{
Send casted_ie = (Send) ie;
pTransport_SendFSM.context.SendTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("BroadcastLocal") == 0 && (ie.getSource().CompareTo("Transport_SendFSM") != 0) && (!done))
{
BroadcastLocal casted_ie = (BroadcastLocal) ie;
pTransport_SendFSM.context.BroadcastLocalTransition();
done = true;
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("BroadcastGlobal") == 0 && (ie.getSource().CompareTo("Transport_SendFSM") != 0) && (!done))
{
BroadcastGlobal casted_ie = (BroadcastGlobal) ie;
pTransport_SendFSM.context.BroadcastGlobalTransition();
done = true;
}
} catch (Exception e) {}
mutex.ReleaseMutex();
return done;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:76,代码来源:TransportService.cs
示例11: processInternalEvent
// Classes to be overridden.
public virtual void processInternalEvent(InternalEvent ie)
{
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:EventReceiver.cs
示例12: InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition
public void InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition(InternalEvent ie)
{
transition_ = "InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition";
State.InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition(this, ie);
transition_ = "";
return;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:7,代码来源:Management_ReceiveFSM_sm.cs
示例13: InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_AvailableTransition
protected internal override void InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_AvailableTransition(AccessControl_ReceiveFSMContext context, InternalEvent ie)
{
AccessControl_ReceiveFSM ctxt = context.Owner;
#if TRACE
Trace.WriteLine(
"TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_Available.InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_AvailableTransition(, InternalEvent ie)");
#endif
context.State.Exit(context);
context.ClearState();
try
{
ctxt.initAction();
ctxt.processNotifications("Receiving_Ready_NotControlled_Available", ie);
}
finally
{
context.State = AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available;
context.State.Entry(context);
}
return;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:25,代码来源:AccessControl_ReceiveFSM_sm.cs
示例14: InternalStateChange_To_AccessControl_ReceiveFSM_ReceivingTransition
protected internal virtual void InternalStateChange_To_AccessControl_ReceiveFSM_ReceivingTransition(AccessControl_ReceiveFSMContext context, InternalEvent ie)
{
Default(context);
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:AccessControl_ReceiveFSM_sm.cs
示例15: defaultTransitions
// This is the function that will check for default transitions if
// no other transitions were satisfied.
//
public override bool defaultTransitions(InternalEvent ie)
{
bool done = false;
// Since this function can be called from multiple threads,
// we use a mutex to ensure only one state transition is
// active at a time.
mutex.WaitOne();
// Invoke the FSM transition for this event.
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("ManagementOCU_ManagementOcuFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new ReportStatus().getID())
{
ReportStatus msg = new ReportStatus();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pManagementOCU_ManagementOcuFSM.context.ReportStatusTransition();
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("ManagementOCU_ManagementOcuFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new ConfirmControl().getID())
{
ConfirmControl msg = new ConfirmControl();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pManagementOCU_ManagementOcuFSM.context.ConfirmControlTransition();
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("ManagementOCU_ManagementOcuFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new ReportControl().getID())
{
ReportControl msg = new ReportControl();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pManagementOCU_ManagementOcuFSM.context.ReportControlTransition();
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("Receive") == 0 && (ie.getSource().CompareTo("ManagementOCU_ManagementOcuFSM") != 0) && (!done))
{
Receive casted_ie = (Receive) ie;
int pos = 0;
ushort id = BitConverter.ToUInt16(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
if ( id == new RejectControl().getID())
{
RejectControl msg = new RejectControl();
msg.decode(casted_ie.getBody().getReceiveRec().getMessagePayload().getData(), pos);
pManagementOCU_ManagementOcuFSM.context.RejectControlTransition();
done = true;
}
}
} catch (Exception e) {}
try
{
if (ie.getName().CompareTo("MenuItemEntered") == 0 && (ie.getSource().CompareTo("ManagementOCU_ManagementOcuFSM") != 0) && (!done))
{
MenuItemEntered casted_ie = (MenuItemEntered) ie;
pManagementOCU_ManagementOcuFSM.context.MenuItemEnteredTransition();
done = true;
}
} catch (Exception e) {}
mutex.ReleaseMutex();
return done;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:94,代码来源:ManagementOCUService.cs
示例16: defaultTransitions
public virtual bool defaultTransitions(InternalEvent ie)
{
return false;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:Service.cs
示例17: Default
protected internal virtual void InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition(Management_ReceiveFSMContext context, InternalEvent ie)
{
Default(context);
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:Management_ReceiveFSM_sm.cs
示例18: InternalStateChange_To_Management_ReceiveFSM_Receiving_ReadyTransition
protected internal virtual void InternalStateChange_To_Management_ReceiveFSM_Receiving_ReadyTransition(Management_ReceiveFSMContext context, InternalEvent ie)
{
Default(context);
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:Management_ReceiveFSM_sm.cs
示例19:
protected internal override void InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_InitTransition(Management_ReceiveFSMContext context, InternalEvent ie)
{
Management_ReceiveFSM ctxt = context.Owner;
#if TRACE
Trace.WriteLine(
"TRANSITION : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown.InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_InitTransition(, InternalEvent ie)");
#endif
context.State.Exit(context);
context.ClearState();
try
{
ctxt.initializeAction();
ctxt.processNotifications("Receiving_Ready_NotControlled_NotAvailable_Init", ie);
}
finally
{
context.State = Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Init;
context.State.Entry(context);
}
return;
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:25,代码来源:Management_ReceiveFSM_sm.cs
示例20: InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_ReadyTransition
protected internal virtual void InternalStateChange_To_AdditionClientServiceDef_additionClientFSM_ReadyTransition(AdditionClientServiceDef_additionClientFSMContext context, InternalEvent ie)
{
Default(context);
}
开发者ID:nikola-v,项目名称:jaustoolset,代码行数:4,代码来源:AdditionClientServiceDef_additionClientFSM_sm.cs
注:本文中的JTS.InternalEvent类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论