Class/Object

org.cert.netsa.io.silk

BagWriter

Related Docs: object BagWriter | package silk

Permalink

class BagWriter extends AnyRef

A writer of binary SiLK Bag files.

To include a header in the Bag file that specifies the type of the and counter, run setKeyType() and/or setCounterType() prior to writing the Bag.

Example:
  1. This example reads the contents of "example.bag" and writes it to "copy.bag", where the keys are IP addresses:

    val in = new java.io.FileInputStream("example.bag")
    val out = new java.io.FileOutputStream("copy.bag")
    val bagresult = BagReader.ofInputStream(in)
    val bag = bagresult match {
      case BagResult.IPAddressBag(iter) => iter
      case _ => null
    }
    val writer = BagWriter.toOutputStream(out)
    if ( None != bag.keyType ) {
      writer.setKeyType(bag.keyType)
    }
    if ( None != bag.counterType ) {
      writer.setCounterType(bag.counterType)
    }
    writer.appendIPAddresses(bag)
    writer.close()
See also

the companion object for more details

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BagWriter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def appendIPAddresses[T <: IPAddress](iter: Iterator[(T, Long)]): Unit

    Permalink

    Iterates over the (key, counter) pairs where each key is an IPAddresses and writes the values to the output stream as a SiLK Bag.

    Iterates over the (key, counter) pairs where each key is an IPAddresses and writes the values to the output stream as a SiLK Bag.

    Expects the IPAddresses in the Iterator to be in sorted order (numerically ascending). Throws NoSuchElementException//FIXME if they are not.

    Expects all IPAddresses in the Iterator to be of the same size; that is, either all are IPv4Address or all are IPv6Address. Throws NoSuchElementException//FIXME if they are not.

    Writes the file's header if it has not been written yet. The type of the key and counter may no longer be changed once this function is called.

    This function may be called successfully multiple times as long as the IPAddresses across the various calls are the same size and are in sorted order.

    Calls to this function may not be mixed with calls to appendIntegers().

    Exceptions thrown

    NoSuchElementException//FIXME if the keys are not in sorted order or if the keys are of different sizes.

  5. def appendIntegers(iter: Iterator[(Int, Long)]): Unit

    Permalink

    Iterates over the (key, counter) pairs where each key is an Int and writes the values to the output stream as a SiLK Bag.

    Iterates over the (key, counter) pairs where each key is an Int and writes the values to the output stream as a SiLK Bag.

    Expects the Ints in the Iterator to be in sorted order (numerically ascending). Throws NoSuchElementException//FIXME if they are not.

    Writes the file's header if it has not been written yet. The type of the key and counter may no longer be changed once this function is called.

    This function may be called successfully multiple times as long as the keys across the various calls are in sorted order.

    Calls to this function may not be mixed with calls to appendIPAddresses().

    Exceptions thrown

    NoSuchElementException//FIXME if the keys are not in sorted order.

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def close(): Unit

    Permalink

    Closes the output stream.

    Closes the output stream.

    Writes the SiLK file header to the output stream if it has not been written, writes any buffered records, closes the output stream, and releases resources.

  9. val compressionMethod: CompressionMethod

    Permalink
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. val hadoopConfig: Option[Configuration]

    Permalink
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. val out: DataOutputStream

    Permalink
  21. def setCounterType(counterType: BagDataType): Unit

    Permalink

    Sets the type of the counter.

    Sets the type of the counter. The value is written into the output stream's header.

    Throws SilkDataFormatException//FIXME if called after the file's header has been written.

  22. def setKeyType(keyType: BagDataType): Unit

    Permalink

    Sets the type of the key.

    Sets the type of the key. The value is written into the output stream's header.

    Throws SilkDataFormatException//FIXME if called after the file's header has been written.

  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def wasHheaderWritten: Boolean

    Permalink

    Whether the Bag file has been written--that is, whether the append() method has been called.

    Whether the Bag file has been written--that is, whether the append() method has been called.

    returns

    true once the append() method has been called

Inherited from AnyRef

Inherited from Any

Ungrouped