diff options
Diffstat (limited to 'common/native/src/main/scala/http/ArrayUtils.scala')
-rw-r--r-- | common/native/src/main/scala/http/ArrayUtils.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/native/src/main/scala/http/ArrayUtils.scala b/common/native/src/main/scala/http/ArrayUtils.scala new file mode 100644 index 0000000..00c1067 --- /dev/null +++ b/common/native/src/main/scala/http/ArrayUtils.scala @@ -0,0 +1,28 @@ +package triad +package http + +import scala.scalanative.native._ + +object ArrayUtils { + + def toBuffer(array: Array[Byte])(implicit z: Zone): Ptr[Byte] = { + val buffer = z.alloc(array.size) + var i = 0 + while (i < array.size) { + buffer(i) = array(i) + i += 1 + } + buffer + } + + def toArray(buffer: Ptr[Byte], size: CSize): Array[Byte] = { + val array = new Array[Byte](size.toInt) + var i = 0 + while (i < array.size) { + array(i) = buffer(i) + i += 1 + } + array + } + +} |