/// <summary> /// Unregisters the instance from the Vcap router. Called when the applicatoin is not in a running state any more. /// </summary> /// <param name="instance">The instance.</param> private void UnregisterInstanceFromRouter(DropletInstance instance) { RouterMessage response = new RouterMessage(); try { instance.Lock.EnterReadLock(); if (instance.Properties.Uris == null || instance.Properties.Uris.Length == 0) { return; } response.DeaId = UUID; response.Host = Host; response.Port = instance.Properties.Port; response.Uris = instance.Properties.Uris; response.Tags = new RouterMessage.TagsObject(); response.Tags.Component = "dea-" + this.Index.ToString(); } finally { instance.Lock.ExitReadLock(); } this.deaReactor.SendRouterUnregister(response.SerializeToJson()); }
/// <summary> /// Registers the instance with the Vcap router. Called when the application is running and ready. /// </summary> /// <param name="instance">The instance to be registered.</param> private void RegisterInstanceWithRouter(DropletInstance instance) { RouterMessage response = new RouterMessage(); try { instance.Lock.EnterReadLock(); if (instance.Properties.Uris == null || instance.Properties.Uris.Length == 0) { return; } response.DeaId = UUID; response.Host = Host; response.Port = instance.Properties.Port; response.Uris = new List<string>(instance.Properties.Uris).ToArray(); response.Tags = new RouterMessage.TagsObject(); response.Tags.Framework = instance.Properties.Framework; response.Tags.Runtime = instance.Properties.Runtime; } finally { instance.Lock.ExitReadLock(); } this.deaReactor.SendRouterRegister(response.SerializeToJson()); }