graph BT raw_handle[zx_handle_t] owned_handle[zx::Handle] owned_channel[zx::Channel] server_end[ServerEnd<TicTacToeMarker>] async_channel[AsyncChannel] serve_inner[ServeInner] request_stream[TicTacToeRequestStream] raw_handle-- zx::Handle::from_raw() -->owned_handle owned_handle-- .into_raw() -->raw_handle owned_handle-- zx::Channel::from() -->owned_channel owned_channel-- zx::Handle::from() -->owned_handle owned_channel-- AsyncChannel::from_channel() -->async_channel async_channel-- .into_zx_channel() -->owned_channel owned_channel-- ServerEnd::from() -->server_end server_end-- .into_channel() -->owned_channel async_channel-- ServeInner::new() -->serve_inner serve_inner-- .into_channel() -->async_channel serve_inner-- RequestStream::from_inner() -->request_stream server_end-- .into_stream() -->request_stream request_stream-- ".into_inner()" -->serve_inner async_channel-- RequestStream::from_channel() -->request_stream