trait SpanSugar extends AnyRef
Trait providing four implicit conversions that allow you to specify spans of time
by invoking "units" methods such as millis, seconds, and minutes
on Int, Long, Float, and Double.
This trait enables you to specify a span of time in a clear, boilerplate-free way when you
need to provide an instance of Span. This
can be used, for example, with the failAfter method of trait
Timeouts or the timeLimit field of trait
TimeLimitedTests. It can also be used to specify
timeouts when using traits Eventually,
Futures,
Waiter. Here are examples of each unit enabled by this trait:
| Int | Long | Float | Double | 
|---|---|---|---|
| 1 nanosecond | 1L nanosecond | 1.0F nanosecond | 1.0 nanosecond | 
| 100 nanoseconds | 100L nanoseconds | 99.8F nanoseconds | 99.8 nanoseconds | 
| 1 microsecond | 1L microsecond | 1.0F microsecond | 1.0 microsecond | 
| 100 microseconds | 100L microseconds | 99.8F microseconds | 99.8 microseconds | 
| 1 millisecond | 1L millisecond | 1.0F millisecond | 1.0 millisecond | 
| 100 milliseconds | 100L milliseconds | 99.8F milliseconds | 99.8 milliseconds | 
| 100 millis | 100L millis | 99.8F millis | 99.8 millis | 
| 1 second | 1L second | 1.0F second | 1.0 second | 
| 100 seconds | 100L seconds | 99.8F seconds | 99.8 seconds | 
| 1 minute | 1L minute | 1.0F minute | 1.0 minute | 
| 100 minutes | 100L minutes | 99.8F minutes | 99.8 minutes | 
| 1 hour | 1L hour | 1.0F hour | 1.0 hour | 
| 100 hours | 100L hours | 99.8F hours | 99.8 hours | 
| 1 day | 1L day | 1.0F day | 1.0 day | 
| 100 days | 100L days | 99.8F days | 99.8 days | 
This trait is not the default way to specify Spans for two reasons. First, it adds
four implicits, which would give the compiler more work to do and may conflict with other implicits the
user has in scope. Instead, Span provides a clear, concise default way to specify time
spans that requires no implicits. Here's an example:
Span(1, Second)
If you already have implicit conversions in scope that provide a similar syntax sugar for expression
time spans, you can use that by providing an implicit conversion from the result of those expressions
to Span. Note that because of implicit conversions in the Span companion object,
you can use a scala.concurrent.duration.Duration (including in its "sugary" form) where
a Span is needed, and vice versa.
- Source
- SpanSugar.scala
- Alphabetic
- By Inheritance
- SpanSugar
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- 
      
      
      
        
      
    
      
        
        class
      
      
        FloatingGrainOfTime extends AnyRef
      
      
      Class containing methods that return a Spantime value calculated from theDoublevalue passed to theFloatingGrainOfTimeconstructor.
- 
      
      
      
        
      
    
      
        
        class
      
      
        GrainOfTime extends AnyRef
      
      
      Class containing methods that return a Spantime value calculated from theLongvalue passed to theGrainOfTimeconstructor.
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
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        implicit 
        def
      
      
        convertDoubleToGrainOfTime(d: Double): FloatingGrainOfTime
      
      
      Implicit conversion that adds time units methods to Doubles.Implicit conversion that adds time units methods to Doubles.- returns
- a - FloatingGrainOfTimewrapping the passed- Double
 
- 
      
      
      
        
      
    
      
        implicit 
        def
      
      
        convertFloatToGrainOfTime(f: Float): FloatingGrainOfTime
      
      
      Implicit conversion that adds time units methods to Floats.Implicit conversion that adds time units methods to Floats.- returns
- a - FloatingGrainOfTimewrapping the passed- Float
 
- 
      
      
      
        
      
    
      
        implicit 
        def
      
      
        convertIntToGrainOfTime(i: Int): GrainOfTime
      
      
      Implicit conversion that adds time units methods to Ints.Implicit conversion that adds time units methods to Ints.- returns
- a - GrainOfTimewrapping the passed- Int
 
- 
      
      
      
        
      
    
      
        implicit 
        def
      
      
        convertLongToGrainOfTime(i: Long): GrainOfTime
      
      
      Implicit conversion that adds time units methods to Longs.Implicit conversion that adds time units methods to Longs.- returns
- a - GrainOfTimewrapping the passed- Long
 
- 
      
      
      
        
      
    
      
        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()
 
-  implicit val postfixOps: postfixOps
- 
      
      
      
        
      
    
      
        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( ... )