Esempio n. 1
0
        /// <summary>
        /// Sends a request to master server, to register an existing spawner with given options
        /// </summary>
        public void RegisterSpawner(SpawnerOptions options, RegisterSpawnerCallback callback, IClientSocket connection)
        {
            if (!connection.IsConnected)
            {
                callback.Invoke(null, "Not connected");
                return;
            }

            connection.SendMessage((short)MsfOpCodes.RegisterSpawner, options, (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    callback.Invoke(null, response.AsString("Unknown Error"));
                    return;
                }

                var spawnerId = response.AsString();

                var controller = new SpawnerController(spawnerId, connection, options);

                // Save reference
                _locallyCreatedSpawners[spawnerId] = controller;

                callback.Invoke(controller, null);

                // Invoke the event
                if (SpawnerRegistered != null)
                {
                    SpawnerRegistered.Invoke(controller);
                }
            });
        }
Esempio n. 2
0
        /// <summary>
        /// Sends a request to master server, to register an existing spawner with given options
        /// </summary>
        public void Register(RegisterSpawnerCallback callback, ErrorCallback errorCallback)
        {
            if (!Client.IsConnected)
            {
                errorCallback.Invoke("Not connected");
                return;
            }

            _logger.Info("Registering Spawner...");
            Client.SendMessage((ushort)OpCodes.RegisterSpawner, new SpawnerOptions
            {
                MaxProcesses = _config.MaxProcesses,
                Region       = _config.Region
            }, (status, response) =>
            {
                if (status != ResponseStatus.Success)
                {
                    errorCallback.Invoke(response.AsString("Unknown Error"));
                    return;
                }

                SpawnerId = response.AsInt();

                callback.Invoke(SpawnerId);
            });
        }
Esempio n. 3
0
 /// <summary>
 /// Sends a request to master server, to register an existing spawner with given options
 /// </summary>
 /// <param name="options"></param>
 /// <param name="callback"></param>
 public void RegisterSpawner(SpawnerOptions options, RegisterSpawnerCallback callback)
 {
     RegisterSpawner(options, callback, Connection);
 }