public void Stop(Adf.Service.ServiceContext serviceContext) { try { this.cleanThread.Abort(); } catch { } this.csListen.Dispose(); }
public void Start(Adf.Service.ServiceContext serviceContext) { this.servername = serviceContext.ServiceName; this.version = this.GetType().Assembly.GetName().Version; // var cacheManagers = new CacheManager[HASH_POOL_SIZE]; for (int i = 0; i < HASH_POOL_SIZE; i++) { cacheManagers[i] = new CacheManager(); } Program.CacheManagers = cacheManagers; // var port = Adf.ConfigHelper.GetSettingAsInt("Port"); if (port < 1) { serviceContext.LogManager.Error.WriteTimeLine("appSetting Port invalid"); throw new System.Configuration.ConfigurationErrorsException("appSetting Port invalid"); } // this.csListen = new Adf.Cs.ServerListen(serviceContext.LogManager); // this.cleanThread = new System.Threading.Thread(this.CleanHandler); this.cleanThread.IsBackground = true; this.cleanThread.Start(serviceContext.LogManager); }
public string Status(Adf.Service.ServiceContext serviceContext, System.Collections.Specialized.NameValueCollection queryString) { var htmlBuilder = new StringBuilder(); htmlBuilder.AppendLine(); htmlBuilder.AppendFormat("<div>Session Count: {0}</div>", this.listen.SessionCount); htmlBuilder.AppendLine(); return(htmlBuilder.ToString()); }
public void Start(Adf.Service.ServiceContext serviceContext) { this.listen = new Adf.Cs.ServerListen(serviceContext.LogManager); //if (serviceContext.Registry.Enable) //{ // var node = new Dictionary<string, object>(); // node.Add("group", serviceContext.Setting.ServiceName); // node.Add("port", this.listen.Port); // serviceContext.Registry.RegisterNode(node); //} }
//private static void Test() //{ // var size = 100000; // var q = new Queue(); // for (int i = 1; i <= size; i++) // { // var item = new Item() { data = new byte[0], id = (ulong)i, duplicates = 0, queue = 1, expires = 1, command = 1 }; // q.Enqueue(item); // } // for (int i = 1; i <= size; i++) // { // var item = q.Dequeue(); // if (item.id != (ulong)i) // { // } // } //} public void Start(Service.ServiceContext serviceContext) { Program.UPTIME = Adf.UnixTimestampHelper.ToInt64Timestamp(); // var version = this.GetType().Assembly.GetName().Version; Program.VERSION = string.Concat(version.Major, ".", version.Minor, ".", version.Build); // Program.ServiceContext = serviceContext; Program.LogManager = serviceContext.LogManager; // Program.DATA_PATH = Adf.ConfigHelper.GetSetting("DataPath"); if (Program.DATA_PATH == "") { throw new ConfigException("no configuration DataPath item"); } else if (System.IO.Directory.Exists(Program.DATA_PATH) == false) { System.IO.Directory.CreateDirectory(Program.DATA_PATH); } // Program.ActionProcessor = new QueueServer.ActionProcessor(); Program.QueueManager = new QueueServer.QueueManager(); Program.JournalManager = new QueueServer.JournalManager(); ////20*10000 * 5120 = 950M ////允许20万个同时交换数, 允许最大消息包4KB, 预留1024字节于头 //Program.BufferPool = new MemberPool<ArraySegment<byte>>(20 * 10000); //Program.BufferPool.Creater += () => { return new ArraySegment<byte>(new byte[5120]); }; // serviceContext.LogManager.Message.WriteTimeLine("LogPath:" + serviceContext.LogManager.Path); serviceContext.LogManager.Message.WriteTimeLine("LogFlushInterval:" + serviceContext.LogManager.FlushInterval); serviceContext.LogManager.Message.WriteTimeLine("DataPath:" + Program.DATA_PATH); // if (serviceContext.HAEnable == true) { serviceContext.ToMaster += new EventHandler(this.ToMaster); serviceContext.ToSlave += new EventHandler(this.ToSlave); serviceContext.ToRestore += new EventHandler(this.ToRestore); serviceContext.ToWitness += new EventHandler(this.ToWitness); } else { this.Start(); } }
public void Stop(Adf.Service.ServiceContext serviceContext) { this.listen.Dispose(); this.listen = null; }
public void Initialize(Adf.Service.ServiceContext serviceContext) { }
public System.Net.HttpStatusCode HttpAction(string action, Adf.Service.ServiceContext serviceContext, Adf.HttpServerContext httpServerContext) { return(System.Net.HttpStatusCode.OK); }
public HttpHandler() { this.httpServer = Program.ServiceContext.HttpServer; this.queueManager = Program.QueueManager; this.serviceContext = Program.ServiceContext; }