title: Closing all open streams in GRPC-Java from client end cleanly
body: <p>I am using GRPC-Java 1.1.2.  In an active GRPC session, I have a few bidirectional streams open.  Is there a way to clean them from the client end when the client is disconnecting?  When I try to disconnect, I run the following look for a fixed number of times and then disconnect but I can see the following error on the server side (not sure if its caused by another issue though):</p>
  
  <p><strong>disconnect from client</strong></p>
  
  <pre><code>while (!channel.awaitTermination(3, TimeUnit.SECONDS)) {
  // check for upper bound and break if so
  }
  channel.shutdown().awaitTermination(3, TimeUnit.SECONDS);
  </code></pre>
  
  <p><strong>error on server</strong></p>
  
  <pre><code>E0414 11:26:48.787276000 140735121084416 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
  E0414 11:26:48.787345000 140735121084416 secure_endpoint.c:185]        Decryption error: TSI_INTERNAL_ERROR
  </code></pre>