示例#1
0
 private static SignalHandler GetSignalHandler(
     int producerNum,
     Object target,
     LogicalChannelBindingMethodDesc consumingSignalBindingDesc,
     EngineImportService engineImportService)
 {
     if (consumingSignalBindingDesc == null)
     {
         return(SignalHandlerDefault.INSTANCE);
     }
     else
     {
         if (consumingSignalBindingDesc.BindingType is LogicalChannelBindingTypePassAlong)
         {
             return(new SignalHandlerDefaultWInvoke(
                        target, consumingSignalBindingDesc.Method, engineImportService));
         }
         else if (consumingSignalBindingDesc.BindingType is LogicalChannelBindingTypePassAlongWStream)
         {
             var streamInfo = (LogicalChannelBindingTypePassAlongWStream)consumingSignalBindingDesc.BindingType;
             return(new SignalHandlerDefaultWInvokeStream(
                        target, consumingSignalBindingDesc.Method, engineImportService, streamInfo.StreamNum));
         }
         else
         {
             throw new IllegalStateException(
                       "Unrecognized signal binding: " + consumingSignalBindingDesc.BindingType);
         }
     }
 }
示例#2
0
 public LogicalChannelBinding(LogicalChannel logicalChannel,
                              LogicalChannelBindingMethodDesc consumingBindingDesc,
                              LogicalChannelBindingMethodDesc consumingSignalBindingDesc)
 {
     LogicalChannel             = logicalChannel;
     ConsumingBindingDesc       = consumingBindingDesc;
     ConsumingSignalBindingDesc = consumingSignalBindingDesc;
 }