Coverage Summary for Class: InputStreamCounter (release.com.greybox.projectmesh.server)

Class Class, % Method, % Branch, % Line, % Instruction, %
InputStreamCounter 0% (0/1) 0% (0/6) 0% (0/4) 0% (0/13) 0% (0/53)


 package com.greybox.projectmesh.server
 
 import java.io.FilterInputStream
 import java.io.InputStream
 
 class InputStreamCounter(
     `in`: InputStream
 ):  FilterInputStream(`in`){
 
     @Volatile
     var bytesRead: Int = 0
         private set
 
     @Volatile
     var closed: Boolean = false
         private set
 
     override fun read(): Int {
         return super.read().also {
             if(it != -1)
                 bytesRead++
         }
     }
 
     override fun read(b: ByteArray, off: Int, len: Int): Int {
         return super.read(b, off, len).also {
             if(it != -1)
                 bytesRead += it
         }
     }
 
     override fun close() {
         super.close()
         closed = true
     }
 }