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}