#[derive(Debug, Clone, Copy, PartialEq)]
pub enum DecodeResult<F> {
Frame { frame: F, consumed: usize },
NeedMore,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum BufferChunkSize {
FileIO,
Http,
WebSocket,
WebTransport,
InMemory,
Custom(usize),
}
impl BufferChunkSize {
pub fn chunk_size(self) -> usize {
match self {
BufferChunkSize::FileIO => crate::constants::file_io_chunk_size(),
BufferChunkSize::Http => crate::constants::http_chunk_size(),
BufferChunkSize::WebSocket => crate::constants::websocket_chunk_size(),
BufferChunkSize::WebTransport => crate::constants::webtransport_chunk_size(),
BufferChunkSize::InMemory => crate::constants::inmemory_chunk_size(),
BufferChunkSize::Custom(n) => n,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum IPCMessageProtocol {
Stream,
File,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum MessageType {
Schema,
RecordBatch,
DictionaryBatch,
Unknown,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum BatchState {
NeedSchema,
Ready,
Done,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum WriterState {
Fresh,
SchemaDone,
Closed,
}