More moves
This commit is contained in:
parent
52991387e5
commit
ad6fa4d0b1
13
src/lib.rs
13
src/lib.rs
@ -167,11 +167,14 @@ pub fn cancel_query<T>(params: T,
|
||||
let params = try!(params.into_connect_params().map_err(ConnectError::ConnectParams));
|
||||
let mut socket = try!(priv_io::initialize_stream(¶ms, tls));
|
||||
|
||||
try!(socket.write_message(&Frontend::CancelRequest {
|
||||
code: message::CANCEL_CODE,
|
||||
process_id: data.process_id,
|
||||
secret_key: data.secret_key,
|
||||
}));
|
||||
let message = frontend::CancelRequest {
|
||||
process_id: data.process_id as i32,
|
||||
secret_key: data.secret_key as i32,
|
||||
};
|
||||
let mut buf = vec![];
|
||||
try!(frontend::Message::write(&message, &mut buf));
|
||||
|
||||
try!(socket.write_all(&buf));
|
||||
try!(socket.flush());
|
||||
|
||||
Ok(())
|
||||
|
@ -7,9 +7,6 @@ use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt};
|
||||
use types::Oid;
|
||||
use priv_io::StreamOptions;
|
||||
|
||||
pub const CANCEL_CODE: u32 = 80877102;
|
||||
pub const SSL_CODE: u32 = 80877103;
|
||||
|
||||
pub enum Backend {
|
||||
AuthenticationCleartextPassword,
|
||||
AuthenticationGSS,
|
||||
@ -85,11 +82,6 @@ pub struct RowDescriptionEntry {
|
||||
}
|
||||
|
||||
pub enum Frontend<'a> {
|
||||
CancelRequest {
|
||||
code: u32,
|
||||
process_id: u32,
|
||||
secret_key: u32,
|
||||
},
|
||||
CopyData {
|
||||
data: &'a [u8],
|
||||
},
|
||||
@ -101,9 +93,6 @@ pub enum Frontend<'a> {
|
||||
portal: &'a str,
|
||||
max_rows: i32,
|
||||
},
|
||||
SslRequest {
|
||||
code: u32,
|
||||
},
|
||||
Sync,
|
||||
}
|
||||
|
||||
@ -128,14 +117,9 @@ impl<W: Write> WriteMessage for W {
|
||||
#[allow(cyclomatic_complexity)]
|
||||
fn write_message(&mut self, message: &Frontend) -> io::Result<()> {
|
||||
let mut buf = vec![];
|
||||
let mut ident = None;
|
||||
let ident;
|
||||
|
||||
match *message {
|
||||
Frontend::CancelRequest { code, process_id, secret_key } => {
|
||||
try!(buf.write_u32::<BigEndian>(code));
|
||||
try!(buf.write_u32::<BigEndian>(process_id));
|
||||
try!(buf.write_u32::<BigEndian>(secret_key));
|
||||
}
|
||||
Frontend::CopyData { data } => {
|
||||
ident = Some(b'd');
|
||||
try!(buf.write_all(data));
|
||||
@ -150,7 +134,6 @@ impl<W: Write> WriteMessage for W {
|
||||
try!(buf.write_cstr(portal));
|
||||
try!(buf.write_i32::<BigEndian>(max_rows));
|
||||
}
|
||||
Frontend::SslRequest { code } => try!(buf.write_u32::<BigEndian>(code)),
|
||||
Frontend::Sync => ident = Some(b'S'),
|
||||
}
|
||||
|
||||
|
@ -11,13 +11,12 @@ use std::os::unix::net::UnixStream;
|
||||
use std::os::unix::io::{AsRawFd, RawFd};
|
||||
#[cfg(windows)]
|
||||
use std::os::windows::io::{AsRawSocket, RawSocket};
|
||||
use postgres_protocol::message::frontend;
|
||||
|
||||
use TlsMode;
|
||||
use params::{ConnectParams, ConnectTarget};
|
||||
use error::ConnectError;
|
||||
use io::TlsStream;
|
||||
use message::{self, WriteMessage};
|
||||
use message::Frontend;
|
||||
|
||||
const DEFAULT_PORT: u16 = 5432;
|
||||
|
||||
@ -171,7 +170,9 @@ pub fn initialize_stream(params: &ConnectParams,
|
||||
TlsMode::Require(handshaker) => (true, handshaker),
|
||||
};
|
||||
|
||||
try!(socket.write_message(&Frontend::SslRequest { code: message::SSL_CODE }));
|
||||
let mut buf = vec![];
|
||||
try!(frontend::Message::write(&frontend::SslRequest, &mut buf));
|
||||
try!(socket.write_all(&buf));
|
||||
try!(socket.flush());
|
||||
|
||||
if try!(socket.read_u8()) == b'N' {
|
||||
|
Loading…
Reference in New Issue
Block a user