Libp2p-rs streams for custom protocols


I have been using a golang implementation of libp2p. For developing custom protocols, I have been using streams extensively and sending protobuf messages across streams. I have trouble finding similar abstraction in rust. Is it possible to do it in similar fashion in libp2p-rust? Could you guys point me to the right direction? I would not mind creating an example and open a PR if it is, as I guess it would be useful to have.