private IMethodReturnMessage HandleObservableReturnType(IMethodCallMessage call, System.Reflection.MethodInfo method, OperatorInfo operatorInfo) { var actualObservable = ProduceActualObservable(call, method, operatorInfo); var ret = OperatorFactory.CreateOperatorObservable(actualObservable, method.ReturnType.GetGenericArguments()[0], operatorInfo); return(new ReturnMessage(ret, null, 0, null, call)); }
IMethodReturnMessage HandleRefCount(IMethodCallMessage call, System.Reflection.MethodInfo method, Type connectableOperatorConnectionType, Type signalType, OperatorInfo operatorInfo) { Debug.Assert(call.InArgs.Length == 1); var args = new object[] { Activator.CreateInstance( connectableOperatorConnectionType, new object[] { _session, call.InArgs[0], operatorInfo } ) }; var actualObservable = MethodInvoker.Invoke(_queryLanguage, _queryLanguageType, method, call.InArgs); var ret = OperatorFactory.CreateOperatorObservable(actualObservable, signalType, operatorInfo); return(new ReturnMessage(ret, null, 0, null, call)); }