Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ContextStorageNode.php

function ContextStorageNode::detach

Overrides ScopeInterface::detach

File

vendor/open-telemetry/context/ContextStorageNode.php, line 48

Class

ContextStorageNode
@internal

Namespace

OpenTelemetry\Context

Code

public function detach() : int {
    $flags = 0;
    if ($this->head !== $this->head->storage
        ->head()) {
        $flags |= ScopeInterface::INACTIVE;
    }
    if ($this === $this->head->node) {
        assert($this->previous !== $this);
        $this->head->node = $this->previous;
        $this->previous = $this;
        return $flags;
    }
    if ($this->previous === $this) {
        return $flags | ScopeInterface::DETACHED;
    }
    assert($this->head->node !== null);
    for ($n = $this->head->node, $depth = 1; $n->previous !== $this; $n = $n->previous, $depth++) {
        assert($n->previous !== null);
    }
    $n->previous = $this->previous;
    $this->previous = $this;
    return $flags | ScopeInterface::MISMATCH | $depth;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal