Skip to content

Commit ad6fa4d

Browse files
committed
More moves
1 parent 5299138 commit ad6fa4d

3 files changed

Lines changed: 13 additions & 26 deletions

File tree

src/lib.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,14 @@ pub fn cancel_query<T>(params: T,
167167
let params = try!(params.into_connect_params().map_err(ConnectError::ConnectParams));
168168
let mut socket = try!(priv_io::initialize_stream(&params, tls));
169169

170-
try!(socket.write_message(&Frontend::CancelRequest {
171-
code: message::CANCEL_CODE,
172-
process_id: data.process_id,
173-
secret_key: data.secret_key,
174-
}));
170+
let message = frontend::CancelRequest {
171+
process_id: data.process_id as i32,
172+
secret_key: data.secret_key as i32,
173+
};
174+
let mut buf = vec![];
175+
try!(frontend::Message::write(&message, &mut buf));
176+
177+
try!(socket.write_all(&buf));
175178
try!(socket.flush());
176179

177180
Ok(())

src/message.rs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt};
77
use types::Oid;
88
use priv_io::StreamOptions;
99

10-
pub const CANCEL_CODE: u32 = 80877102;
11-
pub const SSL_CODE: u32 = 80877103;
12-
1310
pub enum Backend {
1411
AuthenticationCleartextPassword,
1512
AuthenticationGSS,
@@ -85,11 +82,6 @@ pub struct RowDescriptionEntry {
8582
}
8683

8784
pub enum Frontend<'a> {
88-
CancelRequest {
89-
code: u32,
90-
process_id: u32,
91-
secret_key: u32,
92-
},
9385
CopyData {
9486
data: &'a [u8],
9587
},
@@ -101,9 +93,6 @@ pub enum Frontend<'a> {
10193
portal: &'a str,
10294
max_rows: i32,
10395
},
104-
SslRequest {
105-
code: u32,
106-
},
10796
Sync,
10897
}
10998

@@ -128,14 +117,9 @@ impl<W: Write> WriteMessage for W {
128117
#[allow(cyclomatic_complexity)]
129118
fn write_message(&mut self, message: &Frontend) -> io::Result<()> {
130119
let mut buf = vec![];
131-
let mut ident = None;
120+
let ident;
132121

133122
match *message {
134-
Frontend::CancelRequest { code, process_id, secret_key } => {
135-
try!(buf.write_u32::<BigEndian>(code));
136-
try!(buf.write_u32::<BigEndian>(process_id));
137-
try!(buf.write_u32::<BigEndian>(secret_key));
138-
}
139123
Frontend::CopyData { data } => {
140124
ident = Some(b'd');
141125
try!(buf.write_all(data));
@@ -150,7 +134,6 @@ impl<W: Write> WriteMessage for W {
150134
try!(buf.write_cstr(portal));
151135
try!(buf.write_i32::<BigEndian>(max_rows));
152136
}
153-
Frontend::SslRequest { code } => try!(buf.write_u32::<BigEndian>(code)),
154137
Frontend::Sync => ident = Some(b'S'),
155138
}
156139

src/priv_io.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@ use std::os::unix::net::UnixStream;
1111
use std::os::unix::io::{AsRawFd, RawFd};
1212
#[cfg(windows)]
1313
use std::os::windows::io::{AsRawSocket, RawSocket};
14+
use postgres_protocol::message::frontend;
1415

1516
use TlsMode;
1617
use params::{ConnectParams, ConnectTarget};
1718
use error::ConnectError;
1819
use io::TlsStream;
19-
use message::{self, WriteMessage};
20-
use message::Frontend;
2120

2221
const DEFAULT_PORT: u16 = 5432;
2322

@@ -171,7 +170,9 @@ pub fn initialize_stream(params: &ConnectParams,
171170
TlsMode::Require(handshaker) => (true, handshaker),
172171
};
173172

174-
try!(socket.write_message(&Frontend::SslRequest { code: message::SSL_CODE }));
173+
let mut buf = vec![];
174+
try!(frontend::Message::write(&frontend::SslRequest, &mut buf));
175+
try!(socket.write_all(&buf));
175176
try!(socket.flush());
176177

177178
if try!(socket.read_u8()) == b'N' {

0 commit comments

Comments
 (0)