示例#1
0
        private UnaryPipe <Empty, TPayload, TRegister> GetUngroupedDAfaPipe(IStreamObserver <Empty, TRegister> observer)
        {
            var lookupKey         = CacheKey.Create((object)this.afa);
            var generatedPipeType = cachedPipes.GetOrAdd(lookupKey, key => UngroupedDAfaTemplate.GenerateAFA(this));

            var instance    = Activator.CreateInstance(generatedPipeType.Item1, this, observer, this.afa, this.MaxDuration);
            var returnValue = (UnaryPipe <Empty, TPayload, TRegister>)instance;

            return(returnValue);
        }
示例#2
0
        private bool CanGenerateUngroupedDAfaPipe()
        {
            if (!typeof(TPayload).CanRepresentAsColumnar())
            {
                return(false);
            }
            if (!typeof(TRegister).CanRepresentAsColumnar())
            {
                return(false);
            }

            var lookupKey = CacheKey.Create((object)this.afa);

            var generatedPipeType = cachedPipes.GetOrAdd(lookupKey, key => UngroupedDAfaTemplate.GenerateAFA(this));

            this.errorMessages = generatedPipeType.Item2;
            return(generatedPipeType.Item1 != null);
        }