public async Task WriteAsync(SocialWeather.WeatherReport weatherReport, Stream stream) { var outputStream = new CodedOutputStream(stream, leaveOpen: true); var protoWeatherReport = new Protobuf.WeatherReport { Temperature = weatherReport.Temperature, ReportTime = weatherReport.ReportTime, Weather = (Protobuf.WeatherReport.Types.WeatherKind)(int) weatherReport.Weather, ZipCode = weatherReport.ZipCode }; outputStream.WriteMessage(protoWeatherReport); outputStream.Flush(); await stream.FlushAsync(); }