Ejemplo n.º 1
0
        /// <summary>
        /// updates already exisiting p2p record
        /// </summary>
        /// <param name="p2P">p2p data</param>
        /// <returns>publication journal, marks if publication was succesful or where and why publication stopped</returns>
        public async Task <RegistrationJournal> UpdatePTPConnectionAsync(P2PSite p2P)
        {
            RegistrationJournal regJournal = new RegistrationJournal();

            if (p2P == null)
            {
                regJournal.ThrownException = new Exceptions.MissingParameterException("Missing fixed p2p pair");
                return(regJournal);
            }
            regJournal.RegistrationId = p2P.StationB.CTUId.ToString();
            regJournal.NextPhase();
            HttpResponseMessage response = await httpClient.GetAsync("");

            if (response.StatusCode != System.Net.HttpStatusCode.OK)
            {
                regJournal.ThrownException = new Exceptions.WebServerException("Web ctu did not respond properly.", response.StatusCode);
                return(regJournal);
            }
            frontEndToken = await ObtainFrontEndToken(response.Content.ReadAsStreamAsync());
            await PTPTechnicalSpec(p2P, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            await PTPCollisionAndPublishing(p2P, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            return(regJournal);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///  Attempts to publish wigig site
        /// </summary>
        /// <param name="wigig">wigig data</param>
        /// <returns>publication journal, marks if publication was succesful or where and why publication stopped</returns>
        public async Task <RegistrationJournal> AddWIGIG_PTP_PTMPConnectionAsync(WigigPTMPUnitInfo wigig)
        {
            RegistrationJournal regJournal = new RegistrationJournal();

            if (wigig == null)
            {
                regJournal.ThrownException = new Exceptions.MissingParameterException("Missing wigig station");
                return(regJournal);
            }
            regJournal.NextPhase();
            await WigigLocalisation(wigig, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            await WigigTechnicalSpec(wigig, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            await WigigCollisionAndPublishing(wigig, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            return(regJournal);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// attempts to publish new p2p wirelless site.
        /// </summary>
        /// <param name="p2P">p2p data</param>
        /// <returns>publication journal, marks if publication was succesful or where and why publication stopped</returns>
        public async Task <RegistrationJournal> AddPTPSiteAsync(P2PSite p2P)
        {
            RegistrationJournal regJournal = new RegistrationJournal();

            if (p2P == null)
            {
                regJournal.ThrownException = new Exceptions.MissingParameterException("Missing fixed p2p pair");
                return(regJournal);
            }
            regJournal.NextPhase();
            await PTPLocalisation(p2P, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            await PTPTechnicalSpec(p2P, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            await PTPCollisionAndPublishing(p2P, regJournal);

            if (regJournal.SuccessfullRegistration != RegistrationSuccesEnum.Pending)
            {
                return(regJournal);
            }
            regJournal.NextPhase();
            return(regJournal);
        }