Akka.Interfaced.SlimSocket.ChannelHelper.CreateGateway C# (CSharp) Метод

CreateGateway() публичный статический Метод

public static CreateGateway ( ActorSystem system, ChannelType type, string name, IPEndPoint endPoint, XunitOutputLogger outputSource, Action clientInitiatorSetup = null ) : GatewayRef
system ActorSystem
type ChannelType
name string
endPoint System.Net.IPEndPoint
outputSource XunitOutputLogger
clientInitiatorSetup Action
Результат Akka.Interfaced.SlimSocket.Server.GatewayRef
        public static Server.GatewayRef CreateGateway(ActorSystem system, ChannelType type, string name, IPEndPoint endPoint,
                                                      XunitOutputLogger.Source outputSource,
                                                      Action<Server.GatewayInitiator> clientInitiatorSetup = null)
        {
            // initialize gateway initiator

            var initiator = new Server.GatewayInitiator()
            {
                GatewayLogger = new XunitOutputLogger($"Gateway({name})", outputSource),
                ListenEndPoint = endPoint,
                ConnectEndPoint = endPoint,
                TokenRequired = false,
                CreateChannelLogger = (_, o) => new XunitOutputLogger($"ServerChannel({name})", outputSource),
                CheckCreateChannel = (_, o) => true,
                ConnectionSettings = new Server.TcpConnectionSettings { PacketSerializer = s_serverSerializer },
                PacketSerializer = s_serverSerializer,
            };

            clientInitiatorSetup?.Invoke(initiator);

            // create gateway and start it

            var gateway = (type == ChannelType.Tcp)
                ? system.ActorOf(Props.Create(() => new Server.TcpGateway(initiator))).Cast<Server.GatewayRef>()
                : system.ActorOf(Props.Create(() => new Server.UdpGateway(initiator))).Cast<Server.GatewayRef>();
            gateway.Start().Wait();

            return gateway;
        }

Usage Example

        private Server.GatewayRef CreateSecondaryGateway(ChannelType type, Action <Server.GatewayInitiator> initiatorSetup = null)
        {
            return(ChannelHelper.CreateGateway(Sys, type, "2", new IPEndPoint(_testEndPoint.Address, _testEndPoint.Port + 1), _outputSource, initiator =>
            {
                initiator.TokenRequired = true;
                initiator.GatewayInitialized = a => { _environment.Gateway2nd = a.Cast <ActorBoundGatewayRef>(); };

                initiatorSetup?.Invoke(initiator);
            }));
        }
All Usage Examples Of Akka.Interfaced.SlimSocket.ChannelHelper::CreateGateway