mysql-admutils: expect Ready from server before continuing
This commit is contained in:
@@ -186,7 +186,20 @@ fn tokio_run_command(command: Command, server_connection: StdUnixStream) -> anyh
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.block_on(async {
|
.block_on(async {
|
||||||
let tokio_socket = TokioUnixStream::from_std(server_connection)?;
|
let tokio_socket = TokioUnixStream::from_std(server_connection)?;
|
||||||
let message_stream = create_client_to_server_message_stream(tokio_socket);
|
let mut message_stream = create_client_to_server_message_stream(tokio_socket);
|
||||||
|
|
||||||
|
while let Some(Ok(message)) = message_stream.next().await {
|
||||||
|
match message {
|
||||||
|
Response::Error(err) => {
|
||||||
|
anyhow::bail!("{}", err);
|
||||||
|
}
|
||||||
|
Response::Ready => break,
|
||||||
|
message => {
|
||||||
|
eprintln!("Unexpected message from server: {:?}", message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
match command {
|
match command {
|
||||||
Command::Create(args) => create_databases(args, message_stream).await,
|
Command::Create(args) => create_databases(args, message_stream).await,
|
||||||
Command::Drop(args) => drop_databases(args, message_stream).await,
|
Command::Drop(args) => drop_databases(args, message_stream).await,
|
||||||
|
|||||||
@@ -146,7 +146,20 @@ fn tokio_run_command(command: Command, server_connection: StdUnixStream) -> anyh
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.block_on(async {
|
.block_on(async {
|
||||||
let tokio_socket = TokioUnixStream::from_std(server_connection)?;
|
let tokio_socket = TokioUnixStream::from_std(server_connection)?;
|
||||||
let message_stream = create_client_to_server_message_stream(tokio_socket);
|
let mut message_stream = create_client_to_server_message_stream(tokio_socket);
|
||||||
|
|
||||||
|
while let Some(Ok(message)) = message_stream.next().await {
|
||||||
|
match message {
|
||||||
|
Response::Error(err) => {
|
||||||
|
anyhow::bail!("{}", err);
|
||||||
|
}
|
||||||
|
Response::Ready => break,
|
||||||
|
message => {
|
||||||
|
eprintln!("Unexpected message from server: {:?}", message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
match command {
|
match command {
|
||||||
Command::Create(args) => create_user(args, message_stream).await,
|
Command::Create(args) => create_user(args, message_stream).await,
|
||||||
Command::Delete(args) => drop_users(args, message_stream).await,
|
Command::Delete(args) => drop_users(args, message_stream).await,
|
||||||
|
|||||||
Reference in New Issue
Block a user