Esempio n. 1
0
 public TestServer(int size,
                   Func <string, byte[], string, byte[]> handler)
 {
     MaxMethodPayloadCharacterCount = size;
     _handler = handler;
     _server  = new ChunkMethodServer(this, LogEx.Trace());
 }
 public TestChunkServer(IJsonSerializer serializer,
                        int size, Func <string, byte[], string, byte[]> handler)
 {
     MaxMethodPayloadCharacterCount = size;
     _handler    = handler;
     _serializer = serializer;
     _server     = new ChunkMethodServer(_serializer, TraceLogger.Create());
 }
Esempio n. 3
0
 public TestServer(int size,
                   Func <string, byte[], string, byte[]> handler)
 {
     MaxMethodPayloadCharacterCount = size;
     _logger  = new ConsoleLogger();
     _handler = handler;
     _server  = new ChunkMethodServer(this, _logger);
 }
Esempio n. 4
0
        /// <summary>
        /// Create router
        /// </summary>
        /// <param name="logger"></param>
        public MethodRouter(ILogger logger)
        {
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            // Create chunk server
            var server = new ChunkMethodServer(this, logger);

            _calltable = new Dictionary <string, IMethodInvoker> {
                [MethodNames.Call] = new ChunkMethodServerInvoker(server)
            };
        }
Esempio n. 5
0
        /// <summary>
        /// Create router
        /// </summary>
        /// <param name="serializer"></param>
        /// <param name="logger"></param>
        public MethodRouter(IJsonSerializer serializer, ILogger logger)
        {
            _logger     = logger ?? throw new ArgumentNullException(nameof(logger));
            _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer));

            // Create chunk server always
            var server = new ChunkMethodServer(_serializer, logger);

            _calltable = new Dictionary <string, IMethodInvoker> {
                { server.MethodName, server }
            };
        }
Esempio n. 6
0
        /// <summary>
        /// Create router
        /// </summary>
        /// <param name="logger"></param>
        /// <param name="invokers"></param>
        public MethodRouter(ILogger logger, IEnumerable <IMethodInvoker> invokers = null)
        {
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            _calltable = invokers?.ToDictionary(i => i.MethodName, i => i) ??
                         new Dictionary <string, IMethodInvoker>();

            // Create chunk server
            var server = new ChunkMethodServer(this, logger);

            _calltable.Add(MethodNames.Call, new ChunkMethodServerInvoker(server));;
        }