cargo upd + fix Decode
This commit is contained in:
Generated
+572
-611
File diff suppressed because it is too large
Load Diff
+15
-23
@@ -213,7 +213,7 @@ where
|
|||||||
|
|
||||||
pub struct Reader<T>
|
pub struct Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
mmap: AsyncMmapFile,
|
mmap: AsyncMmapFile,
|
||||||
count: usize,
|
count: usize,
|
||||||
@@ -223,7 +223,7 @@ where
|
|||||||
|
|
||||||
impl<T> Reader<T>
|
impl<T> Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
pub async fn new<P: AsRef<Path>>(path: P) -> Result<Self, String> {
|
pub async fn new<P: AsRef<Path>>(path: P) -> Result<Self, String> {
|
||||||
let mmap = AsyncOptions::new()
|
let mmap = AsyncOptions::new()
|
||||||
@@ -311,7 +311,7 @@ where
|
|||||||
|
|
||||||
pub struct ReaderStream<'a, T>
|
pub struct ReaderStream<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
reader: &'a Reader<T>,
|
reader: &'a Reader<T>,
|
||||||
index: Option<usize>,
|
index: Option<usize>,
|
||||||
@@ -319,7 +319,7 @@ where
|
|||||||
|
|
||||||
impl<'a, T> ReaderStream<'a, T>
|
impl<'a, T> ReaderStream<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn new(reader: &'a Reader<T>) -> Self {
|
fn new(reader: &'a Reader<T>) -> Self {
|
||||||
ReaderStream {
|
ReaderStream {
|
||||||
@@ -331,7 +331,7 @@ where
|
|||||||
|
|
||||||
impl<'a, T> Stream for ReaderStream<'a, T>
|
impl<'a, T> Stream for ReaderStream<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Item = T;
|
type Item = T;
|
||||||
|
|
||||||
@@ -364,18 +364,14 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
let index = self.index.unwrap();
|
let index = self.index.unwrap();
|
||||||
let rem = if len > index + 1 {
|
let rem = len.saturating_sub(index + 1);
|
||||||
len - (index + 1)
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
};
|
|
||||||
(rem, Some(rem))
|
(rem, Some(rem))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct BufReader<T>
|
pub struct BufReader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
inner: Reader<T>,
|
inner: Reader<T>,
|
||||||
buf: Vec<u8>,
|
buf: Vec<u8>,
|
||||||
@@ -383,7 +379,7 @@ where
|
|||||||
|
|
||||||
impl<T> BufReader<T>
|
impl<T> BufReader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
pub async fn new<P: AsRef<Path>>(path: P, buf_size: usize) -> Result<Self, String> {
|
pub async fn new<P: AsRef<Path>>(path: P, buf_size: usize) -> Result<Self, String> {
|
||||||
match Reader::<T>::new(path).await {
|
match Reader::<T>::new(path).await {
|
||||||
@@ -410,7 +406,7 @@ where
|
|||||||
|
|
||||||
impl<T> From<Reader<T>> for BufReader<T>
|
impl<T> From<Reader<T>> for BufReader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn from(inner: Reader<T>) -> Self {
|
fn from(inner: Reader<T>) -> Self {
|
||||||
Self {
|
Self {
|
||||||
@@ -422,7 +418,7 @@ where
|
|||||||
|
|
||||||
impl<T> From<BufReader<T>> for Reader<T>
|
impl<T> From<BufReader<T>> for Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn from(value: BufReader<T>) -> Self {
|
fn from(value: BufReader<T>) -> Self {
|
||||||
value.into_inner()
|
value.into_inner()
|
||||||
@@ -431,7 +427,7 @@ where
|
|||||||
|
|
||||||
impl<T> Deref for BufReader<T>
|
impl<T> Deref for BufReader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Target = Reader<T>;
|
type Target = Reader<T>;
|
||||||
fn deref(&self) -> &Self::Target {
|
fn deref(&self) -> &Self::Target {
|
||||||
@@ -441,7 +437,7 @@ where
|
|||||||
|
|
||||||
pub struct BufReaderStream<T>
|
pub struct BufReaderStream<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
reader: BufReader<T>,
|
reader: BufReader<T>,
|
||||||
index: Option<usize>,
|
index: Option<usize>,
|
||||||
@@ -449,7 +445,7 @@ where
|
|||||||
|
|
||||||
impl<T> BufReaderStream<T>
|
impl<T> BufReaderStream<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn new(reader: BufReader<T>) -> Self {
|
fn new(reader: BufReader<T>) -> Self {
|
||||||
BufReaderStream {
|
BufReaderStream {
|
||||||
@@ -473,7 +469,7 @@ where
|
|||||||
|
|
||||||
impl<T> Stream for BufReaderStream<T>
|
impl<T> Stream for BufReaderStream<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Item = T;
|
type Item = T;
|
||||||
|
|
||||||
@@ -503,11 +499,7 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
let index = self.index.unwrap();
|
let index = self.index.unwrap();
|
||||||
let rem = if len > index + 1 {
|
let rem = len.saturating_sub(index + 1);
|
||||||
len - (index + 1)
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
};
|
|
||||||
(rem, Some(rem))
|
(rem, Some(rem))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-29
@@ -150,7 +150,7 @@ where
|
|||||||
|
|
||||||
pub struct Reader<T>
|
pub struct Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
mmap: Mmap,
|
mmap: Mmap,
|
||||||
count: usize,
|
count: usize,
|
||||||
@@ -160,7 +160,7 @@ where
|
|||||||
|
|
||||||
impl<T> Reader<T>
|
impl<T> Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
pub fn new<P: AsRef<Path>>(path: P, _buf_size: usize) -> Result<Self, String> {
|
pub fn new<P: AsRef<Path>>(path: P, _buf_size: usize) -> Result<Self, String> {
|
||||||
let file = fs::File::open(path).str_err()?;
|
let file = fs::File::open(path).str_err()?;
|
||||||
@@ -227,7 +227,7 @@ where
|
|||||||
|
|
||||||
pub struct ReaderIter<'a, T>
|
pub struct ReaderIter<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
reader: &'a Reader<T>,
|
reader: &'a Reader<T>,
|
||||||
index: Option<usize>,
|
index: Option<usize>,
|
||||||
@@ -235,7 +235,7 @@ where
|
|||||||
|
|
||||||
impl<'a, T> ReaderIter<'a, T>
|
impl<'a, T> ReaderIter<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn new(reader: &'a Reader<T>) -> Self {
|
fn new(reader: &'a Reader<T>) -> Self {
|
||||||
ReaderIter {
|
ReaderIter {
|
||||||
@@ -247,7 +247,7 @@ where
|
|||||||
|
|
||||||
impl<'a, T> Iterator for ReaderIter<'a, T>
|
impl<'a, T> Iterator for ReaderIter<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Item = T;
|
type Item = T;
|
||||||
|
|
||||||
@@ -269,10 +269,7 @@ where
|
|||||||
self.index = Some(n + 1);
|
self.index = Some(n + 1);
|
||||||
|
|
||||||
let item = self.reader.get(n);
|
let item = self.reader.get(n);
|
||||||
match item {
|
item.ok()
|
||||||
Ok(item) => Some(item),
|
|
||||||
Err(_) => None,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size_hint(&self) -> (usize, Option<usize>) {
|
fn size_hint(&self) -> (usize, Option<usize>) {
|
||||||
@@ -282,11 +279,7 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
let index = self.index.unwrap();
|
let index = self.index.unwrap();
|
||||||
let rem = if len > index + 1 {
|
let rem = len.saturating_sub(index + 1);
|
||||||
len - (index + 1)
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
};
|
|
||||||
(rem, Some(rem))
|
(rem, Some(rem))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,7 +293,7 @@ where
|
|||||||
|
|
||||||
impl<'a, T> ExactSizeIterator for ReaderIter<'a, T>
|
impl<'a, T> ExactSizeIterator for ReaderIter<'a, T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn len(&self) -> usize {
|
fn len(&self) -> usize {
|
||||||
self.reader.len()
|
self.reader.len()
|
||||||
@@ -309,7 +302,7 @@ where
|
|||||||
|
|
||||||
pub struct ReaderIntoIter<T>
|
pub struct ReaderIntoIter<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
reader: Reader<T>,
|
reader: Reader<T>,
|
||||||
index: Option<usize>,
|
index: Option<usize>,
|
||||||
@@ -317,7 +310,7 @@ where
|
|||||||
|
|
||||||
impl<T> ReaderIntoIter<T>
|
impl<T> ReaderIntoIter<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn new(reader: Reader<T>) -> Self {
|
fn new(reader: Reader<T>) -> Self {
|
||||||
Self {
|
Self {
|
||||||
@@ -329,7 +322,7 @@ where
|
|||||||
|
|
||||||
impl<T> Iterator for ReaderIntoIter<T>
|
impl<T> Iterator for ReaderIntoIter<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Item = T;
|
type Item = T;
|
||||||
|
|
||||||
@@ -351,10 +344,7 @@ where
|
|||||||
self.index = Some(n + 1);
|
self.index = Some(n + 1);
|
||||||
|
|
||||||
let item = self.reader.get(n);
|
let item = self.reader.get(n);
|
||||||
match item {
|
item.ok()
|
||||||
Ok(item) => Some(item),
|
|
||||||
Err(_) => None,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size_hint(&self) -> (usize, Option<usize>) {
|
fn size_hint(&self) -> (usize, Option<usize>) {
|
||||||
@@ -364,11 +354,7 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
let index = self.index.unwrap();
|
let index = self.index.unwrap();
|
||||||
let rem = if len > index + 1 {
|
let rem = len.saturating_sub(index + 1);
|
||||||
len - (index + 1)
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
};
|
|
||||||
(rem, Some(rem))
|
(rem, Some(rem))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,7 +368,7 @@ where
|
|||||||
|
|
||||||
impl<T> ExactSizeIterator for ReaderIntoIter<T>
|
impl<T> ExactSizeIterator for ReaderIntoIter<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
fn len(&self) -> usize {
|
fn len(&self) -> usize {
|
||||||
self.reader.len()
|
self.reader.len()
|
||||||
@@ -391,7 +377,7 @@ where
|
|||||||
|
|
||||||
impl<T> IntoIterator for Reader<T>
|
impl<T> IntoIterator for Reader<T>
|
||||||
where
|
where
|
||||||
T: bincode::Decode,
|
T: bincode::Decode<()>,
|
||||||
{
|
{
|
||||||
type Item = T;
|
type Item = T;
|
||||||
type IntoIter = ReaderIntoIter<Self::Item>;
|
type IntoIter = ReaderIntoIter<Self::Item>;
|
||||||
|
|||||||
+1
-5
@@ -177,11 +177,7 @@ pub mod reader_sync {
|
|||||||
fn size_hint(&self) -> (usize, Option<usize>) {
|
fn size_hint(&self) -> (usize, Option<usize>) {
|
||||||
let len = self.zipfile.len();
|
let len = self.zipfile.len();
|
||||||
let index = self.index.unwrap_or(0);
|
let index = self.index.unwrap_or(0);
|
||||||
let rem = if len > index + 1 {
|
let rem = len.saturating_sub(index + 1);
|
||||||
len - (index + 1)
|
|
||||||
} else {
|
|
||||||
0
|
|
||||||
};
|
|
||||||
(rem, Some(rem))
|
(rem, Some(rem))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user