title: How to save an GRPC stream for reusement
body: <p>I have an GRPC server which provides an function and returns a stream.
  I want to save the stream onto a <code>map[string]grpc.Stream</code> - this works so far.</p>
  
  <p>My problem is that the stream gets closed after the function that returns the stream finishes its logic. </p>
  
  <p>This is, what I have so far:</p>
  
  <pre><code>func (s *server) CheckConnection(initMessage *LighterGRPC.InitMessage, stream LighterGRPC.Lighter_CheckConnectionServer) error {
      //Do something magic
      streams[initMessage.DeviceID] = stream
  
      error := stream.Send(&amp;LighterGRPC.ColorMessage{DATA})
      if error {
          log.Println(error)
      }
  
      //Tried
      //for { }
  
      return error
  }
  </code></pre>
  
  <p>I already tried to let the function never return anything with an <code>for {}</code> before the return (as commented in the code above), but that didn't helped and I don't think, that this could be the solution.</p>
  
  <p>Is there a way to leave the stream open so I can send data later in runtime over it to the client?</p>