| 52 | type Error = io::Error; |
| 53 | |
| 54 | fn encode(&mut self, msg: BackendMessage, dst: &mut BytesMut) -> Result<(), Self::Error> { |
| 55 | match msg { |
| 56 | BackendMessage::Authentication(auth) => encode_authentication(auth, dst), |
| 57 | BackendMessage::ParameterStatus { name, value } => encode_parameter_status(&name, &value, dst), |
| 58 | BackendMessage::BackendKeyData { process_id, secret_key } => encode_backend_key_data(process_id, secret_key, dst), |
| 59 | BackendMessage::ReadyForQuery { status } => encode_ready_for_query(status, dst), |
| 60 | BackendMessage::RowDescription(fields) => encode_row_description(fields, dst), |
| 61 | BackendMessage::DataRow(values) => encode_data_row(&values, dst), |
| 62 | BackendMessage::CommandComplete { tag } => encode_command_complete(&tag, dst), |
| 63 | BackendMessage::EmptyQueryResponse => encode_empty_query_response(dst), |
| 64 | BackendMessage::ErrorResponse(err) => encode_error_response(*err, dst), |
| 65 | BackendMessage::NoticeResponse(notice) => encode_notice_response(notice, dst), |
| 66 | BackendMessage::ParseComplete => encode_parse_complete(dst), |
| 67 | BackendMessage::BindComplete => encode_bind_complete(dst), |
| 68 | BackendMessage::CloseComplete => encode_close_complete(dst), |
| 69 | BackendMessage::PortalSuspended => encode_portal_suspended(dst), |
| 70 | BackendMessage::NoData => encode_no_data(dst), |
| 71 | BackendMessage::ParameterDescription(oids) => encode_parameter_description(oids, dst), |
| 72 | } |
| 73 | Ok(()) |
| 74 | } |
| 75 | } |
| 76 | |
| 77 | fn decode_startup_message(src: &mut BytesMut) -> io::Result<Option<FrontendMessage>> { |