#include <hilbert/kernel/storage/bd/memory.hpp>

namespace hilbert::kernel::storage::bd {

  memory::memory(void *buffer, uint64_t buffer_len)
    : buffer((uint8_t *)buffer)
  {
    block_size = 1;
    block_count = buffer_len;
    //block cache will never be used, since the block size is 1.
  }

  bd_result memory::read_blocks_no_cache(
    uint64_t start, uint64_t count, void *into
  ) {
    for (uint64_t i = 0; i < count; ++i)
      ((uint8_t *)into)[i] = buffer[start + i];
    return bd_result::success;
  }

}
