Would be great to get client streaming, server streaming and bi-di streaming examples if possible? Including how to properly handle cancellation!