zero_postgres/protocol/
copy.rs

1//! COPY protocol messages shared between frontend and backend.
2
3use crate::error::Result;
4
5/// CopyData message - COPY data (used in both directions).
6#[derive(Debug, Clone, Copy)]
7pub struct CopyData<'a> {
8    /// Raw data bytes
9    pub data: &'a [u8],
10}
11
12impl<'a> CopyData<'a> {
13    /// Parse a CopyData message from payload bytes.
14    pub fn parse(payload: &'a [u8]) -> Result<Self> {
15        Ok(Self { data: payload })
16    }
17}
18
19/// CopyDone message - COPY operation completed.
20#[derive(Debug, Clone, Copy)]
21pub struct CopyDone;
22
23impl CopyDone {
24    /// Parse a CopyDone message from payload bytes.
25    pub fn parse(_payload: &[u8]) -> Result<Self> {
26        Ok(Self)
27    }
28}