public function setActiveCabin(array $cabin, string $prefix)
{
self::$active_cabin = $cabin['namespace'] ?? $cabin['name'];
self::$cabinIndex = $prefix;
if ($prefix === '*') {
self::$patternPrefix = '';
} elseif ($prefix[0] === '*') {
self::$patternPrefix = Binary::safeSubstr($prefix, 2);
} else {
$start = \strpos($prefix, '/');
if ($start !== false) {
self::$patternPrefix = Binary::safeSubstr($prefix, $start + 1);
}
}
}