aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/scala/spark/network/MessageChunk.scala
blob: aaf9204d0e61a363c7d7859e45fcd8f934b4ca79 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package spark.network

import java.nio.ByteBuffer

import scala.collection.mutable.ArrayBuffer


private[network]
class MessageChunk(val header: MessageChunkHeader, val buffer: ByteBuffer) {

  val size = if (buffer == null) 0 else buffer.remaining

  lazy val buffers = {
    val ab = new ArrayBuffer[ByteBuffer]()
    ab += header.buffer
    if (buffer != null) {
      ab += buffer
    }
    ab
  }

  override def toString = {
    "" + this.getClass.getSimpleName + " (id = " + header.id + ", size = " + size + ")"
  }
}