message: not sending empty frames
  fixes
diff: @@ -505,6 +505,7 @@ impl AsyncTransport {
  request = match write_receiver.try_recv() {
  Ok(request) => request,
  Err(_) => {
  + if frame_encoder.has_envelopes() {
  Self::write_self_contained_frame(
  &mut write_half,
  response_handler_map,
  @@ -512,6 +513,7 @@ impl AsyncTransport {
  frame_encoder.as_mut(),
  )
  .await?;
  + }
  if let Err(error) = write_half.flush().await {
  Self::notify_error_handlers(
  