use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Segment {
#[serde(rename = "search")]
pub search: bool,
#[serde(rename = "memory", default, skip_serializing_if = "Option::is_none")]
pub memory: Option<String>,
#[serde(rename = "generation")]
pub generation: u32,
#[serde(rename = "committed")]
pub committed: bool,
#[serde(rename = "deleted_docs")]
pub deleted_docs: u32,
#[serde(rename = "size_in_bytes")]
pub size_in_bytes: u32,
#[serde(rename = "num_docs")]
pub num_docs: u32,
#[serde(rename = "size", default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "memory_in_bytes", default, skip_serializing_if = "Option::is_none")]
pub memory_in_bytes: Option<u32>,
#[serde(rename = "attributes")]
pub attributes: serde_json::Value,
#[serde(rename = "compound")]
pub compound: bool,
}
impl Segment {
pub fn new(search: bool, generation: u32, committed: bool, deleted_docs: u32, size_in_bytes: u32, num_docs: u32, version: String, attributes: serde_json::Value, compound: bool) -> Segment {
Segment {
search,
memory: None,
generation,
committed,
deleted_docs,
size_in_bytes,
num_docs,
size: None,
version,
memory_in_bytes: None,
attributes,
compound,
}
}
}