code: public void requestClose() throws IOException, InterruptedException {
  		if (this.senderCloseRequested) {
  			return;
  		}
  
  		this.senderCloseRequested = true;
  
  		Envelope envelope = createNextEnvelope();
  		envelope.serializeEventList(Arrays.asList(new ChannelCloseEvent()));
  		this.envelopeDispatcher.dispatchFromOutputChannel(envelope);
  	}
docs: -----------------------------------------------------------------------------------------------------------------