| // Licensed to the Apache Software Foundation (ASF) under one or more | 
 | // contributor license agreements. See the NOTICE file distributed with | 
 | // this work for additional information regarding copyright ownership. | 
 | // The ASF licenses this file to You under the Apache License, Version 2.0 | 
 | // (the "License"); you may not use this file except in compliance with | 
 | // the License.  You may obtain a copy of the License at | 
 | // | 
 | //     http://www.apache.org/licenses/LICENSE-2.0 | 
 | // | 
 | // Unless required by applicable law or agreed to in writing, software | 
 | // distributed under the License is distributed on an "AS IS" BASIS, | 
 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | // See the License for the specific language governing permissions and | 
 | // limitations under the License. | 
 |  | 
 | using System.Threading.Tasks; | 
 | using Apache.Arrow.Flight.Protocol; | 
 | using Grpc.Core; | 
 |  | 
 | namespace Apache.Arrow.Flight.Server.Internal; | 
 |  | 
 | internal class FlightHandshakeStreamWriterAdapter : IClientStreamWriter<FlightHandshakeRequest> | 
 | { | 
 |     private readonly IClientStreamWriter<HandshakeRequest> _writeStream; | 
 |  | 
 |     public FlightHandshakeStreamWriterAdapter(IClientStreamWriter<HandshakeRequest> writeStream) | 
 |     { | 
 |         _writeStream = writeStream; | 
 |     } | 
 |  | 
 |     public Task WriteAsync(FlightHandshakeRequest message) => _writeStream.WriteAsync(message.ToProtocol()); | 
 |  | 
 |     public WriteOptions WriteOptions | 
 |     { | 
 |         get => _writeStream.WriteOptions; | 
 |         set => _writeStream.WriteOptions = value; | 
 |     } | 
 |  | 
 |     public Task CompleteAsync() => _writeStream.CompleteAsync(); | 
 | } |