public function __construct()
{
parent::__construct();
$factory = $this;
$factory->define(ThreadManagerBase::class, function ($config = []) {
$reflection = new ReflectionClass(ThreadManagerBase::class);
return $reflection->newInstanceArgs([$config['runtime'], $config['channel'], $config['context']]);
})->define(ThreadManagerRemote::class, function ($config = []) {
$reflection = new ReflectionClass(ThreadManagerRemote::class);
return $reflection->newInstanceArgs([$config['runtime'], $config['channel'], $config['receiver']]);
})->define(ThreadManagerNull::class, function ($config = []) {
return new ThreadManagerNull();
});
}