internal bool LinkWith(IPlexBeaconPin <T> next) { if (HasNext) { return(false); } _Next = next; HasNext = true; return(true); }
internal bool LinkWith(IPlexBeaconPin <T> next) { if (HasNext) { return(false); } var mre = Interlocked.Exchange(ref _MRE, null); if (mre == null) { return(false); } _Next = next; mre.Set(); return(true); }
public void Dispose() => _Held = null;
public bool MoveNext() => (_Held = _Held?.Next) != null;
public DoppelGanger(IPlexBeaconPin <T> held) { _Held = held; }
private void Advance(IPlexBeaconPin <byte[]> link) { _ArrLink = link; _Data = _ArrLink?.Message; _Position = 0; }
internal PlexStream(IPlexBeaconPin <byte[]> link, int position = 0) { _ArrLink = link; _Position = position; }
protected override void Dispose(bool disposing) { _ArrLink = null; _Data = null; _Position = 0; }