示例#1
0
文件: Server.cs 项目: sm6uax/plegma
        //------------------------------------------------------------------------------------------------------------------------
        public Server(Protocol[] Protocols, ChannelSerializationMode SupportedChannelSerializationModes = ChannelSerializationMode.Json, ChannelSerializationMode PreferredChannelSerializationModes = ChannelSerializationMode.Json)
        {
            this.Protocols = Protocols == null ? (Protocol[])null : (Protocol[])Protocols.Clone(); //copy here to avoid user changing stuff later on
            this.SupportedChannelSerializationModes = SupportedChannelSerializationModes;
            this.PreferredChannelSerializationModes = PreferredChannelSerializationModes;

            //hook event for shutdown
            Channel.OnSystemShutDownRequest.Add(Yodiwo.WeakAction <object> .Create(ShutdownRedirect));
        }
示例#2
0
 //------------------------------------------------------------------------------------------------------------------------
 ChannelSerializationMode _choosePacker(ChannelSerializationMode modes)
 {
     if (modes.HasFlag(ChannelSerializationMode.Json))
     {
         return(ChannelSerializationMode.Json);
     }
     else if (modes.HasFlag(ChannelSerializationMode.MessagePack))
     {
         return(ChannelSerializationMode.MessagePack);
     }
     else
     {
         return(ChannelSerializationMode.Unkown);
     }
 }
示例#3
0
        public const int MaxPacketSize = (1024 * 1024) * 10; // 10 mb
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        public CommonSocketChannel(Protocol[] Protocols, ChannelRole ChannelRole, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes)
            : base(Protocols, ChannelRole, SupportedChannelSerializationModes, PreferredChannelSerializationModes, true)
        {
        }
示例#4
0
文件: Client.cs 项目: yodiwo/plegma
 //------------------------------------------------------------------------------------------------------------------------
 public Client(Protocol[] Protocols, ChannelSerializationMode SupportedChannelSerializationModes = ChannelSerializationMode.Json, ChannelSerializationMode PreferredChannelSerializationModes = ChannelSerializationMode.Json)
     : base(Protocols, ChannelRole.Client, SupportedChannelSerializationModes, PreferredChannelSerializationModes)
 {
 }
示例#5
0
文件: Client.cs 项目: yodiwo/plegma
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------
        public Client(Protocol Protocol, ChannelSerializationMode SupportedChannelSerializationModes = ChannelSerializationMode.Json, ChannelSerializationMode PreferredChannelSerializationModes = ChannelSerializationMode.Json)
            : this(new[] { Protocol }, SupportedChannelSerializationModes: SupportedChannelSerializationModes, PreferredChannelSerializationModes: PreferredChannelSerializationModes)
        {
        }
示例#6
0
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------
        public ServerChannel(Server Server, Protocol[] Protocols, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes, Socket _sock)
            : base(Protocols, ChannelRole.Server, SupportedChannelSerializationModes, PreferredChannelSerializationModes)
        {
            this.Server = Server;
            this._sock = _sock;
        }
示例#7
0
 //------------------------------------------------------------------------------------------------------------------------
 ChannelSerializationMode _choosePacker(ChannelSerializationMode modes)
 {
     if (modes.HasFlag(ChannelSerializationMode.Json))
         return ChannelSerializationMode.Json;
     else if (modes.HasFlag(ChannelSerializationMode.MessagePack))
         return ChannelSerializationMode.MessagePack;
     else
         return ChannelSerializationMode.Unkown;
 }
示例#8
0
        public const int MaxPacketSize = (1024 * 1024) * 10; // 10 mb
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        public CommonSocketChannel(Protocol[] Protocols, ChannelRole ChannelRole, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes, TimeSpan?keepAliveSpinDelay = null)
            : base(Protocols, ChannelRole, SupportedChannelSerializationModes, PreferredChannelSerializationModes, true, keepAliveSpinDelay)
        {
        }
示例#9
0
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------
        public ServerChannel(Server Server, Protocol[] Protocols, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes, Socket _sock)
            : base(Protocols, ChannelRole.Server, SupportedChannelSerializationModes, PreferredChannelSerializationModes)
        {
            this.Server = Server;
            this._sock  = _sock;
        }
示例#10
0
        public const int MaxPacketSize = (1024 * 1024) * 10; // 10 mb
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        public CommonSocketChannel(Protocol[] Protocols, ChannelRole ChannelRole, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes)
            : base(Protocols, ChannelRole, SupportedChannelSerializationModes, PreferredChannelSerializationModes, true)
        {
        }
示例#11
0
        //------------------------------------------------------------------------------------------------------------------------
        #endregion


        #region Constructors
        //------------------------------------------------------------------------------------------------------------------------
        public ServerChannel(Server Server, Protocol[] Protocols, ChannelSerializationMode SupportedChannelSerializationModes, ChannelSerializationMode PreferredChannelSerializationModes, Socket _sock, TimeSpan?keepAliveSpinDelay = null)
            : base(Protocols, ChannelRole.Server, SupportedChannelSerializationModes, PreferredChannelSerializationModes)
        {
            this.Server = Server;
            this._sock  = _sock;
        }