Example #1
0
 public static void Initialize(IDrLogging logger)
 {
     lock (s_dummy)
     {
         if (s_client == null)
         {
             s_client = new NotHttpClient(false, 10, 30000, new PeloponneseLogger(logger));
         }
     }
 }
Example #2
0
 public static void Initialize(ILogger logger)
 {
     lock (dummy)
     {
         if (client == null)
         {
             client = new NotHttpClient(true, 1, 30000, new PLogger(logger));
         }
     }
 }
Example #3
0
 public static void Initialize(ILogger logger)
 {
     lock (dummy)
     {
         if (client == null)
         {
             client = new NotHttpClient(true, 1, 30000, new PLogger(logger));
         }
     }
 }
Example #4
0
 public static void Initialize(IDrLogging logger)
 {
     lock (s_dummy)
     {
         if (s_client == null)
         {
             s_client = new NotHttpClient(false, 10, 30000, new PeloponneseLogger(logger));
         }
     }
 }
Example #5
0
        static bool RendezvousWithParent(string processUri, string fileUri, string directory, ILogger logger)
        {
            if (parentAddress == null)
            {
                // we weren't started from Peloponnese so do nothing
                return(true);
            }

            NotHttpClient httpClient = new NotHttpClient(false, 1, 10000, logger);

            string status;

            try
            {
                var processDetails = new XElement("ProcessUri");
                processDetails.Value = processUri;

                var fileDetails = new XElement("FileUri");
                fileDetails.Value = fileUri;

                var dirDetails = new XElement("LocalDirectory");
                dirDetails.Value = directory;

                var details = new XElement("ProcessDetails");
                details.SetAttributeValue("hostname", hostName);
                details.SetAttributeValue("rackname", rackName);
                details.Add(processDetails);
                details.Add(fileDetails);
                details.Add(dirDetails);

                status = details.ToString();
            }
            catch (Exception e)
            {
                logger.Log("malformed xml: " + e.ToString());
                return(false);
            }

            string registration = String.Format("{0}register?guid={1}&group={2}&identifier={3}",
                                                parentAddress, jobGuid.ToString(), groupName, identifier);
            IHttpRequest request = httpClient.CreateRequest(registration);

            request.Timeout = 30 * 1000; // if it doesn't respond in 30 seconds we'll throw an exception and quit
            request.Method  = "POST";

            try
            {
                using (Stream upload = request.GetRequestStream())
                {
                    using (StreamWriter sw = new StreamWriter(upload))
                    {
                        sw.Write(status);
                    }
                }

                using (IHttpResponse response = request.GetResponse())
                {
                    logger.Log("Server registration succeeded");
                    return(true);
                }
            }
            catch (NotHttpException e)
            {
                // if this failed, there's nothing much more we can do
                logger.Log("Command put failed message " + e.Message + " status " + e.Response.StatusCode + " " + e.Response.StatusDescription);
            }
            catch (Exception e)
            {
                logger.Log("Command put failed message " + e.Message);
            }

            return(false);
        }
Example #6
0
        static bool RendezvousWithParent(string processUri, string fileUri, string directory, ILogger logger)
        {
            if (parentAddress == null)
            {
                // we weren't started from Peloponnese so do nothing
                return true;
            }

            NotHttpClient httpClient = new NotHttpClient(false, 1, 10000, logger);

            string status;
            try
            {
                var processDetails = new XElement("ProcessUri");
                processDetails.Value = processUri;

                var fileDetails = new XElement("FileUri");
                fileDetails.Value = fileUri;

                var dirDetails = new XElement("LocalDirectory");
                dirDetails.Value = directory;

                var details = new XElement("ProcessDetails");
                details.SetAttributeValue("hostname", hostName);
                details.SetAttributeValue("rackname", rackName);
                details.Add(processDetails);
                details.Add(fileDetails);
                details.Add(dirDetails);

                status = details.ToString();
            }
            catch (Exception e)
            {
                logger.Log("malformed xml: " + e.ToString());
                return false;
            }

            string registration = String.Format("{0}register?guid={1}&group={2}&identifier={3}",
                parentAddress, jobGuid.ToString(), groupName, identifier);
            IHttpRequest request = httpClient.CreateRequest(registration);
            request.Timeout = 30 * 1000; // if it doesn't respond in 30 seconds we'll throw an exception and quit
            request.Method = "POST";

            try
            {
                using (Stream upload = request.GetRequestStream())
                {
                    using (StreamWriter sw = new StreamWriter(upload))
                    {
                        sw.Write(status);
                    }
                }

                using (IHttpResponse response = request.GetResponse())
                {
                    logger.Log("Server registration succeeded");
                    return true;
                }
            }
            catch (NotHttpException e)
            {
                // if this failed, there's nothing much more we can do
                logger.Log("Command put failed message " + e.Message + " status " + e.Response.StatusCode + " " + e.Response.StatusDescription);
            }
            catch (Exception e)
            {
                logger.Log("Command put failed message " + e.Message);
            }

            return false;
        }