abstract class SimplePublisher[T, S, F <: Filter] extends Publisher[T] with Parent[T]
- Annotations
 - @deprecated
 - Deprecated
 (Since version 0.0.14) Use NoFilterPublisher, avoid iffily supported JSON-RPC filter ops.
- Alphabetic
 - By Inheritance
 
- SimplePublisher
 - Parent
 - Publisher
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - All
 
Instance Constructors
-  new SimplePublisher(ethJsonRpcUrl: String, blockPollDelay: Duration = 3.seconds, subscriptionUpdateDelay: Duration = 3.seconds)(implicit efactory: Factory = Exchanger.Factory.Default, scheduler: Scheduler = Scheduler.Default, executionContext: ExecutionContext = ExecutionContext.global)
 
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        acquireFilter(client: Client): Future[F]
      
      
      
- Attributes
 - protected
 
 - 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        getChanges(client: Client, filter: F): Future[Seq[S]]
      
      
      
- Attributes
 - protected
 
 - 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        transformTerminate(client: Client, items: Seq[S]): Future[Transformed[T]]
      
      
      
This is an opportunity to transform acquired items -- to filter items that should not be published, to map items into something else etc.
This is an opportunity to transform acquired items -- to filter items that should not be published, to map items into something else etc. If the stream should terminate, excess items (thise beyond the termination point) should be trimmed.
At the same time it is a place where termination can be noticed, by inspecting acquired items. Signal termination by setting
transformed.shouldTerminateto true.A client is provided (primarily in case it is helpful for deciding termination).
In the simple case where T and S are the same type, no transformation need happen, and the stream of events is unbounded, a straightforward implementation is Future.successful( Transformed[T]( items, false ) )
See BlockHashPublisher for an example.
- Attributes
 - protected
 
 
Concrete Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        cancelFilter(client: Client, filter: F): Future[_]
      
      
      
- Attributes
 - protected
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      
- Attributes
 - protected[java.lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @native() @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      
- Attributes
 - protected[java.lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws( classOf[java.lang.Throwable] )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        subscribe(subscriber: Subscriber[_ >: T]): Unit
      
      
      
- Definition Classes
 - SimplePublisher → Publisher
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native() @throws( ... )