Esempio n. 1
0
 public MemberBindingCodec(MemberBindingCollectionCodec memberBindingCollectionCodec, ExpressionCodec expressionCodec, ICodecContainer codecContainer)
 {
     memberBindingTypeCodec   = codecContainer.GetManualCodecFor <MemberBindingType>();
     memberAssignmentCodec    = new MemberAssignmentCodec(expressionCodec, codecContainer);
     memberListBindingCodec   = new MemberListBindingCodec(codecContainer);
     memberMemberBindingCodec = new MemberMemberBindingCodec(memberBindingCollectionCodec, codecContainer);
 }
Esempio n. 2
0
 public GenericHandler(ICodecContainer codecContainer, IRawHandlerFactory delegateFactory, IReadOnlyList <ServiceDescription> serviceDescriptionChain, MethodDescription methodDescription, ServicePath servicePath)
 {
     rawHandlers           = new ConcurrentDictionary <TypesKey, IHandler>();
     createRawHandler      = delegateFactory.CreateGenericClass(serviceDescriptionChain, methodDescription, servicePath);
     genericParameterCount = methodDescription.GenericParameters.Count;
     typeCodec             = codecContainer.GetManualCodecFor <Type>();
 }
Esempio n. 3
0
 public NewExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     constructorInfoCodec = codecContainer.GetManualCodecFor <ConstructorInfo>();
     expressionArrayCodec = codecContainer.GetManualCodecFor <Expression[]>();
     memberInfoArrayCodec = codecContainer.GetManualCodecFor <MemberInfo[]>();
 }
Esempio n. 4
0
 public GenericHandler(ICodecContainer codecContainer, IRawHandlerFactory delegateFactory, IReadOnlyList<ServiceDescription> serviceDescriptionChain, MethodDescription methodDescription, ServicePath servicePath)
 {
     rawHandlers = new ConcurrentDictionary<TypesKey, IHandler>();
     createRawHandler = delegateFactory.CreateGenericClass(serviceDescriptionChain, methodDescription, servicePath);
     genericParameterCount = methodDescription.GenericParameters.Count;
     typeCodec = codecContainer.GetManualCodecFor<Type>();
 }
 public IncomingRequestProcessor(ILogger logger, IServiceImplementationContainer serviceImplementationContainer, 
     IHandlerContainer handlerContainer, ICodecContainer codecContainer)
 {
     this.logger = logger;
     this.serviceImplementationContainer = serviceImplementationContainer;
     this.handlerContainer = handlerContainer;
     exceptionCodec = codecContainer.GetManualCodecFor<Exception>();
 }
 public IncomingRequestProcessor(ILogger logger, IServiceImplementationContainer serviceImplementationContainer,
                                 IHandlerContainer handlerContainer, ICodecContainer codecContainer)
 {
     this.logger = logger;
     this.serviceImplementationContainer = serviceImplementationContainer;
     this.handlerContainer = handlerContainer;
     exceptionCodec        = codecContainer.GetManualCodecFor <Exception>();
 }
Esempio n. 7
0
        public void Setup()
        {
            stringCodec = new ManualCodec <string>(new StringCodec());
            var codecContainer = Substitute.For <ICodecContainer>();

            codecContainer.GetManualCodecFor <string>().Returns(stringCodec);
            exceptionCodec = new ExceptionCodec(codecContainer);
        }
 public IncomingRequestProcessor(IRpcClientServer clientServer, IServiceImplementationContainer serviceImplementationContainer, 
     IServiceMethodHandlerContainer serviceMethodHandlerContainer, ICodecContainer codecContainer)
 {
     this.clientServer = clientServer;
     this.logger = clientServer.Logger;
     this.serviceImplementationContainer = serviceImplementationContainer;
     this.serviceMethodHandlerContainer = serviceMethodHandlerContainer;
     exceptionCodec = codecContainer.GetManualCodecFor<Exception>();
 }
Esempio n. 9
0
 public MemberInfoCodec(ICodecContainer codecContainer)
 {
     memberTypesCodec     = codecContainer.GetManualCodecFor <MemberTypes>();
     constructorInfoCodec = codecContainer.GetManualCodecFor <ConstructorInfo>();
     eventInfoCodec       = codecContainer.GetManualCodecFor <EventInfo>();
     fieldInfoCodec       = codecContainer.GetManualCodecFor <FieldInfo>();
     methodInfoCodec      = codecContainer.GetManualCodecFor <MethodInfo>();
     propertyInfoCodec    = codecContainer.GetManualCodecFor <PropertyInfo>();
 }
Esempio n. 10
0
 public static bool TryDecodeSingle <T>(this IManualCodec <T> codec, byte[] data, out T value)
 {
     try
     {
         value = codec.DecodeSingle(data);
         return(true);
     }
     catch
     {
         value = default(T);
         return(false);
     }
 }
Esempio n. 11
0
        public static byte[] EncodeSingle <T>(this IManualCodec <T> codec, T value)
        {
            var data = new byte[codec.CalculateSize(value)];

            fixed(byte *pData = data)
            {
                var p = pData;

                codec.Encode(ref p, value);
            }

            return(data);
        }
Esempio n. 12
0
        public static T DecodeSingle <T>(this IManualCodec <T> codec, byte[] data)
        {
            T result;

            fixed(byte *pData = data)
            {
                var p = pData;
                int remainingBytes = data.Length;

                result = codec.Decode(ref p, ref remainingBytes, false);
            }

            return(result);
        }
Esempio n. 13
0
        public ExpressionCodec(ICodecContainer codecContainer)
        {
            expressionTypeCodec = codecContainer.GetManualCodecFor <ExpressionType>();

            binarySubcodec      = new BinaryExpressionSubcodec(this, codecContainer);
            blockSubcodec       = new BlockExpressionSubcodec(this, codecContainer);
            conditionalSubcodec = new ConditionalExpressionSubcodec(this, codecContainer);
            constantSubcodec    = new ConstantExpressionSubcodec(this, codecContainer);
            invocationSubcodec  = new InvocationExpressionSubcodec(this, codecContainer);
            lambdaSubcodec      = new LambdaExpressionSubcodec(this, codecContainer);
            listInitSubcodec    = new ListInitExpressionSubcodec(this, codecContainer);
            memberSubcodec      = new MemberExpressionSubcodec(this, codecContainer);
            var memberBindingCollectionCodec = new MemberBindingCollectionCodec(this, codecContainer);

            memberInitSubcodec     = new MemberInitExpressionSubcodec(this, memberBindingCollectionCodec, codecContainer);
            methodCallSubcodec     = new MethodCallExpressionSubcodec(this, codecContainer);
            newArrayBoundsSubcodec = new NewArrayBoundsExpressionSubcodec(this, codecContainer);
            newArrayInitSubcodec   = new NewArrayInitExpressionSubcodec(this, codecContainer);
            newSubcodec            = new NewExpressionSubcodec(this, codecContainer);
            parameterSubcodec      = new ParameterExpressionSubcodec(this, codecContainer);
            typeEqualSubcodec      = new TypeEqualExpressionSubcodec(this, codecContainer);
            typeIsSubcodec         = new TypeIsExpressionSubcodec(this, codecContainer);
            unarySubcodec          = new UnaryExpressionSubcodec(this, codecContainer);
        }
Esempio n. 14
0
 protected MethodBaseCodecBase(ICodecContainer codecContainer)
     : base(codecContainer)
 {
     typeArrayCodec = codecContainer.GetManualCodecFor <Type[]>();
 }
Esempio n. 15
0
 public AbstractManualCodecWrapper(IManualCodec <T> realCodec)
 {
     this.realCodec = realCodec;
 }
 public NewArrayInitExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     typeCodec            = codecContainer.GetManualCodecFor <Type>();
     expressionArrayCodec = codecContainer.GetManualCodecFor <Expression[]>();
 }
Esempio n. 17
0
 public override void Setup()
 {
     base.Setup();
     codec = CreateCodec();
 }
 public OutgoingRequestProcessor(IReadOnlyDictionary<string, IServiceTopology> topology, IRequestSenderContainer requestSenderContainer, ICodecContainer codecContainer)
 {
     this.topology = topology;
     this.requestSenderContainer = requestSenderContainer;
     exceptionCodec = codecContainer.GetManualCodecFor<Exception>();
 }
Esempio n. 19
0
 protected ExpressionSubcodecBase(ExpressionCodec commonCodec, ICodecContainer codecContainer)
 {
     CommonCodec         = commonCodec;
     CodecContainer      = codecContainer;
     ExpressionTypeCodec = codecContainer.GetManualCodecFor <ExpressionType>();
 }
Esempio n. 20
0
 protected MemberInfoCodecBase(ICodecContainer codecContainer)
 {
     stringCodec = codecContainer.GetManualCodecFor <string>();
     typeCodec   = codecContainer.GetManualCodecFor <Type>();
 }
 public MemberBindingCollectionCodec(ExpressionCodec expressionCodec, ICodecContainer codecContainer)
 {
     memberBindingCodec = new MemberBindingCodec(this, expressionCodec, codecContainer);
     intCodec = codecContainer.GetManualCodecFor<int>();
 }
 public UnaryExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer) : base(commonCodec, codecContainer)
 {
     typeCodec       = codecContainer.GetManualCodecFor <Type>();
     methodInfoCodec = codecContainer.GetManualCodecFor <MethodInfo>();
 }
Esempio n. 23
0
 public MemberBindingCollectionCodec(ExpressionCodec expressionCodec, ICodecContainer codecContainer)
 {
     memberBindingCodec = new MemberBindingCodec(this, expressionCodec, codecContainer);
     intCodec           = codecContainer.GetManualCodecFor <int>();
 }
Esempio n. 24
0
 public ExceptionCodec(ICodecContainer codecContainer)
 {
     stringCodec     = codecContainer.GetManualCodecFor <string>();
     createException = CreateExceptionCreator();
 }
 public ListInitExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer) :
     base(commonCodec, codecContainer)
 {
     elementInitArrayCodec = codecContainer.GetManualCodecFor <ElementInit[]>();
 }
Esempio n. 26
0
 public BinaryExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer) : base(commonCodec, codecContainer)
 {
     boolCodec       = codecContainer.GetManualCodecFor <bool>();
     methodInfoCodec = codecContainer.GetManualCodecFor <MethodInfo>();
 }
Esempio n. 27
0
 public MemberExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     memberInfoCodec = codecContainer.GetManualCodecFor <MemberInfo>();
 }
Esempio n. 28
0
 public TypeEqualExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     typeCodec = codecContainer.GetManualCodecFor <Type>();
 }
Esempio n. 29
0
 public MemberListBindingCodec(ICodecContainer codecContainer)
 {
     memberInfoCodec       = codecContainer.GetManualCodecFor <MemberInfo>();
     elementInitArrayCodec = codecContainer.GetManualCodecFor <ElementInit[]>();
 }
 public ParameterExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer) : base(commonCodec, codecContainer)
 {
     typeCodec   = codecContainer.GetManualCodecFor <Type>();
     stringCodec = codecContainer.GetManualCodecFor <string>();
 }
Esempio n. 31
0
 public InvocationExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     expressionArrayCodec = codecContainer.GetManualCodecFor <Expression[]>();
 }
Esempio n. 32
0
 public OutgoingMethodCallProcessor(IReadOnlyDictionary <string, IServiceTopology> topology, IRequestSenderContainer requestSenderContainer, ICodecContainer codecContainer)
 {
     this.topology = topology;
     this.requestSenderContainer = requestSenderContainer;
     exceptionCodec = codecContainer.GetManualCodecFor <Exception>();
 }
 public MethodCallExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer) : base(commonCodec, codecContainer)
 {
     methodInfoCodec      = codecContainer.GetManualCodecFor <MethodInfo>();
     expressionArrayCodec = codecContainer.GetManualCodecFor <Expression[]>();
 }
Esempio n. 34
0
 public IndexExpressionSubcodec(ExpressionCodec commonCodec, ICodecContainer codecContainer)
     : base(commonCodec, codecContainer)
 {
     propertyInfoCodec    = codecContainer.GetManualCodecFor <PropertyInfo>();
     expressionArrayCodec = codecContainer.GetManualCodecFor <Expression[]>();
 }
Esempio n. 35
0
 public MemberAssignmentCodec(ExpressionCodec expressionCodec, ICodecContainer codecContainer)
 {
     this.expressionCodec = expressionCodec;
     memberInfoCodec      = codecContainer.GetManualCodecFor <MemberInfo>();
 }