pub struct ParLasZipAppender<W> { /* private fields */ }
Expand description

Struct that handles appending compressed points to a LAZ file in parallel

Implementations§

source§

impl<W> ParLasZipAppender<W>
where W: Read + Write + Seek + Send,

source

pub fn new(data: W, vlr: LazVlr) -> Result<Self>

data must be positioned at the start of point data

source

pub fn done(&mut self) -> Result<()>

Tells the compressor that no more points will be compressed

  • Compresses & writes the rest of the points to form the last chunk
  • Writes the chunk table
  • update the offset to the chunk_table
source

pub fn get_mut(&mut self) -> &mut W

source§

impl<W> ParLasZipAppender<W>
where W: Write + Seek + Send,

source

pub fn compress_many(&mut self, points: &[u8]) -> Result<()>

Compresses many points using multiple threads.

§Important

This must be called only when writing fixed-size chunks. This will panic otherwise.

§Note

For this function to actually use multiple threads, the points buffer shall hold more points that the vlr’s chunk_size.

source

pub fn compress_chunks<Chunks, Item>(&mut self, chunks: Chunks) -> Result<()>
where Item: AsRef<[u8]> + Send, Chunks: IntoParallelIterator<Item = Item>,

Compresses multiple chunks using multiple threads.

§Important

This must be called only when writing variable-size chunks. This will panic otherwise.

§Note

For this function to actually use multiple threads, there should be more than one chunk. buffer shall hold more points that the vlr’s chunk_size.

Auto Trait Implementations§

§

impl<W> Freeze for ParLasZipAppender<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for ParLasZipAppender<W>
where W: RefUnwindSafe,

§

impl<W> Send for ParLasZipAppender<W>
where W: Send,

§

impl<W> Sync for ParLasZipAppender<W>
where W: Sync,

§

impl<W> Unpin for ParLasZipAppender<W>
where W: Unpin,

§

impl<W> UnwindSafe for ParLasZipAppender<W>
where W: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.