Rename and merge crate as a package

This commit is contained in:
Daniel Akhterov 2019-07-26 15:27:55 -07:00
parent 6114f39cb6
commit 2cce6fba01
43 changed files with 52 additions and 128 deletions

View File

@ -17,6 +17,9 @@ log = "0.4.7"
md-5 = "0.8.0"
memchr = "2.2.1"
runtime = { version = "=0.3.0-alpha.6", default-features = false }
bitflags = "1.1.0"
enum-tryfrom = "0.2.1"
enum-tryfrom-derive = "0.2.1"
[dev-dependencies]
runtime-tokio = { version = "=0.3.0-alpha.5" }

View File

@ -1,30 +0,0 @@
[package]
name = "mason-mariadb"
version = "0.1.0"
authors = ["Daniel Akhterov <akhterovd@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
mason-core = { path = "../mason-core" }
runtime = "=0.3.0-alpha.4"
futures-preview = "=0.3.0-alpha.16"
failure = "0.1"
byteorder = "1.3.1"
log = "0.4"
hex = "0.3.2"
bytes = "0.4.12"
memchr = "2.2.0"
bitflags = "1.1.0"
enum-tryfrom = "0.2.1"
enum-tryfrom-derive = "0.2.1"
[dev-dependencies]
criterion = "0.2.11"
[[bench]]
name = "bench"
harness = false

View File

@ -1,25 +0,0 @@
#[macro_use]
extern crate criterion;
use criterion::Criterion;
use mason_core::ConnectOptions;
use mason_mariadb::connection::Connection;
fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("establish connection", |b| {
b.iter(|| {
Connection::establish(ConnectOptions {
host: "127.0.0.1",
port: 3306,
user: Some("root"),
database: None,
password: None,
})
.await
.unwarp();
})
});
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);

View File

@ -1,6 +0,0 @@
use super::super::connection::Connection;
use failure::Error;
pub trait Serialize {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error>;
}

View File

@ -1,4 +1,3 @@
<<<<<<< HEAD
#![feature(non_exhaustive, async_await)]
#![cfg_attr(test, feature(test))]
@ -7,7 +6,13 @@
#[cfg(test)]
extern crate test;
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate enum_tryfrom_derive;
mod options;
pub use self::options::ConnectOptions;
pub mod postgres;
pub mod mariadb;

View File

@ -1,24 +0,0 @@
#![feature(async_await)]
use mason::{pg::Connection, ConnectOptions};
#[runtime::main]
async fn main() -> Result<(), failure::Error> {
env_logger::try_init()?;
let mut conn =
Connection::establish(ConnectOptions::new().user("postgres").password("password")).await?;
conn.execute("INSERT INTO \"users\" (name) VALUES ($1)")
.bind(b"Joe")
.await?;
conn.prepare("INSERT INTO \"users\" (name) VALUES ($1)")
.bind(b"Joe")
.execute()
.await?;
conn.close().await?;
Ok(())
}

View File

@ -1,5 +1,5 @@
use super::Connection;
use crate::protocol::{
use crate::mariadb::protocol::{
deserialize::{DeContext, Deserialize},
packets::{handshake_response::HandshakeResponsePacket, initial::InitialHandshakePacket},
server::Message as ServerMessage,
@ -7,7 +7,7 @@ use crate::protocol::{
};
use bytes::{BufMut, Bytes};
use failure::{err_msg, Error};
use mason_core::ConnectOptions;
use crate::ConnectOptions;
pub async fn establish<'a, 'b: 'a>(
conn: &'a mut Connection,

View File

@ -7,9 +7,9 @@ use futures::{
};
use runtime::net::TcpStream;
use mason_core::ConnectOptions;
use crate::ConnectOptions;
use crate::protocol::{
use crate::mariadb::protocol::{
deserialize::{DeContext, Deserialize},
encode::Encoder,
packets::{com_init_db::ComInitDb, com_ping::ComPing, com_query::ComQuery, com_quit::ComQuit, ok::OkPacket},
@ -17,7 +17,7 @@ use crate::protocol::{
server::Message as ServerMessage,
types::{Capabilities, ServerStatusFlag},
};
use crate::protocol::server::Message;
use crate::mariadb::protocol::server::Message;
mod establish;

View File

@ -3,11 +3,6 @@
// TODO: Remove this once API has matured
#![allow(dead_code, unused_imports, unused_variables)]
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate enum_tryfrom_derive;
pub mod connection;
pub mod protocol;

View File

@ -1,5 +1,5 @@
use super::decode::Decoder;
use crate::connection::{ConnContext, Connection};
use crate::mariadb::connection::{ConnContext, Connection};
use bytes::Bytes;
use failure::Error;

View File

@ -1,5 +1,5 @@
use super::super::serialize::Serialize;
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use bytes::Bytes;
use failure::Error;
@ -10,7 +10,7 @@ pub struct AuthenticationSwitchRequestPacket {
}
impl Serialize for AuthenticationSwitchRequestPacket {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(0xFE);
encoder.encode_string_null(&self.auth_plugin_name);
encoder.encode_byte_eof(&self.auth_plugin_data);

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComDebug();
impl Serialize for ComDebug {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComDebug.into());
Ok(())

View File

@ -1,5 +1,5 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use bytes::Bytes;
use failure::Error;
@ -8,7 +8,7 @@ pub struct ComInitDb {
}
impl Serialize for ComInitDb {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComInitDb.into());
encoder.encode_string_null(&self.schema_name);

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComPing();
impl Serialize for ComPing {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComPing.into());
Ok(())

View File

@ -1,5 +1,5 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComProcessKill {
@ -7,7 +7,7 @@ pub struct ComProcessKill {
}
impl Serialize for ComProcessKill {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComProcessKill.into());
encoder.encode_int_4(self.process_id);

View File

@ -1,5 +1,5 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use bytes::Bytes;
use failure::Error;
@ -8,7 +8,7 @@ pub struct ComQuery {
}
impl Serialize for ComQuery {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComQuery.into());
encoder.encode_string_eof(&self.sql_statement);

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComQuit();
impl Serialize for ComQuit {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComQuit.into());
Ok(())

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComResetConnection();
impl Serialize for ComResetConnection {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComResetConnection.into());
Ok(())

View File

@ -1,5 +1,5 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
#[derive(Clone, Copy)]
@ -13,7 +13,7 @@ pub struct ComSetOption {
}
impl Serialize for ComSetOption {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComSetOption.into());
encoder.encode_int_2(self.option.into());

View File

@ -1,5 +1,5 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
#[derive(Clone, Copy)]
@ -12,7 +12,7 @@ pub struct ComShutdown {
}
impl Serialize for ComShutdown {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComShutdown.into());
encoder.encode_int_1(self.option.into());

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComSleep();
impl Serialize for ComSleep {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComSleep.into());
Ok(())

View File

@ -1,11 +1,11 @@
use super::super::{client::TextProtocol, serialize::Serialize};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use failure::Error;
pub struct ComStatistics();
impl Serialize for ComStatistics {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_1(TextProtocol::ComStatistics.into());
Ok(())

View File

@ -1,5 +1,5 @@
use super::super::{serialize::Serialize, types::Capabilities};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use bytes::Bytes;
use failure::Error;
@ -20,7 +20,7 @@ pub struct HandshakeResponsePacket {
}
impl Serialize for HandshakeResponsePacket {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_4(self.capabilities.bits() as u32);
encoder.encode_int_4(self.max_packet_size);
encoder.encode_int_1(self.collation);

View File

@ -1,9 +1,9 @@
use bytes::Bytes;
use failure::Error;
use crate::protocol::decode::Decoder;
use crate::protocol::server::Message;
use crate::protocol::types::Capabilities;
use crate::mariadb::protocol::decode::Decoder;
use crate::mariadb::protocol::server::Message;
use crate::mariadb::protocol::types::Capabilities;
use super::super::{
deserialize::{DeContext, Deserialize},

View File

@ -1,5 +1,5 @@
use super::super::{serialize::Serialize, types::Capabilities};
use crate::connection::Connection;
use crate::mariadb::connection::Connection;
use bytes::Bytes;
use failure::Error;
@ -12,7 +12,7 @@ pub struct SSLRequestPacket {
}
impl Serialize for SSLRequestPacket {
fn serialize<'a, 'b>(&self, ctx: &mut crate::connection::ConnContext, encoder: &mut crate::protocol::encode::Encoder) -> Result<(), Error> {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error> {
encoder.encode_int_4(self.capabilities.bits() as u32);
encoder.encode_int_4(self.max_packet_size);
encoder.encode_int_1(self.collation);

View File

@ -0,0 +1,6 @@
use super::super::connection::Connection;
use failure::Error;
pub trait Serialize {
fn serialize<'a, 'b>(&self, ctx: &mut crate::mariadb::connection::ConnContext, encoder: &mut crate::mariadb::protocol::encode::Encoder) -> Result<(), Error>;
}