<PackageReference Include="System.Reactive" Version="6.0.1-preview.1" />
    
	
	
		
		
		
	 
	
	
        
                
                BaseBlocking<T>
                
                
                
                
using System.
Runtime.
CompilerServices;
using System.
Threading;
namespace System.
Reactive.
Linq.
ObservableImpl
{
    [
System.
Runtime.
CompilerServices.
NullableContext(
2)]
    [
System.
Runtime.
CompilerServices.
Nullable(
0)]
    
internal abstract class BaseBlocking<
T> : 
ManualResetEventSlim, 
IObserver<
T>
    {
        
internal T _value;
        
internal bool _hasValue;
        
internal Exception _error;
        
internal BaseBlocking()
        {
        }
        
public void OnCompleted()
        {
            
Set();
        }
        [
System.
Runtime.
CompilerServices.
NullableContext(
1)]
        
public void OnError(
Exception error)
        {
            
_value = 
default(
T);
            
_error = 
error;
            
Set();
        }
        [
System.
Runtime.
CompilerServices.
NullableContext(
1)]
        
public abstract void OnNext(
T value);
    }
}