protected override void OnStart(string[] args) { #region logging Logger.Log("Started Service"); #endregion #region heartbeats net = new Backend.Networker(); Logger.Debug2("created NetWorker"); indexdi = new Backend.IndexDistribution(); Logger.Debug2("created indexdi"); indexdi.SetDistribute(true); Logger.Debug2("set distribute on indexdi"); messageThread = new Thread(new ThreadStart(net.processMessages)); Logger.Debug2("created messagethread"); rxThread = new Thread(new ThreadStart(net.runReceiver)); Logger.Debug2("created rxThread"); txThread = new Thread(new ThreadStart(net.runTransmitter)); Logger.Debug2("created txthread"); distributionThread = new Thread(new ThreadStart(indexdi.BeginIndexDistribution)); Logger.Debug2("created dithread"); net.startTransmitter(); Logger.Debug2("Started net transmitter"); txThread.Start(); Logger.Debug2("Started txthread"); net.startReciever(); Logger.Debug2("Started net receiver"); messageThread.Start(); Logger.Debug2("started messagethread"); rxThread.Start(); Logger.Debug2("Started rxThread"); distributionThread.Start(); Logger.Debug2("started dithread"); #endregion #region networking commandServer = new CommandServer(guid); Logger.Debug2("started CommandServer"); #endregion #region storage storageThread = new StorageThread(Node.GetTemporaryDirectory(), this.guid); Logger.Debug2("started StorageThread"); #endregion setupWCF(); mainThread = new Thread(new ThreadStart(MainLoop)); //MainLoop(); }