Ejemplo n.º 1
0
 public virtual TSender New <TSender, TBundler, TReceiver>(MonitorInterface <TSender, TBundler, TReceiver> @interface)
     where TSender : class, IMethodizedMonitorSender
     where TBundler : class, IMethodizedMonitorSender, IMethodizedMonitorReceiver, IMethodizedMonitorStatus
     where TReceiver : MethodizedMonitorReceiver <TBundler>, IMethodizedMonitorReceiver
 {
     return(MonitorStorage <TSender, TBundler, TReceiver> .Get(this, @interface));
 }
Ejemplo n.º 2
0
        internal TSender GetMonitorSender <TSender, TBundler, TReceiver>(MonitorInterface <TSender, TBundler, TReceiver> @interface, Type transType, Type bundlerType, Type userDefStartState)
            where TSender : class, IMethodizedMonitorSender
            where TBundler : class, IMethodizedMonitorSender, IMethodizedMonitorReceiver, IMethodizedMonitorStatus
            where TReceiver : MethodizedMonitorReceiver <TBundler>, IMethodizedMonitorReceiver
        {
            var receiver           = Container.Resolve <TReceiver>();
            var id                 = Runtime.NewMonitor(transType);
            var registeredMonitors = Runtime.GetRegisteredMonitors();

            return((TBundler)registeredMonitors.AddOrUpdate(id, _ => default, (_, oldBundler) =>