MCPcopy Create free account
hub / github.com/TigerVNC/tigervnc / sendChannelOpen

Method sendChannelOpen

java/com/jcraft/jsch/Channel.java:725–771  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

723 }
724
725 protected void sendChannelOpen() throws Exception {
726 Session _session=getSession();
727 if(!_session.isConnected()){
728 throw new JSchException("session is down");
729 }
730
731 Packet packet = genChannelOpenPacket();
732 _session.write(packet);
733
734 int retry=2000;
735 long start=System.currentTimeMillis();
736 long timeout=connectTimeout;
737 if(timeout!=0L) retry = 1;
738 synchronized(this){
739 while(this.getRecipient()==-1 &&
740 _session.isConnected() &&
741 retry>0){
742 if(timeout>0L){
743 if((System.currentTimeMillis()-start)>timeout){
744 retry=0;
745 continue;
746 }
747 }
748 try{
749 long t = timeout==0L ? 10L : timeout;
750 this.notifyme=1;
751 wait(t);
752 }
753 catch(java.lang.InterruptedException e){
754 }
755 finally{
756 this.notifyme=0;
757 }
758 retry--;
759 }
760 }
761 if(!_session.isConnected()){
762 throw new JSchException("session is down");
763 }
764 if(this.getRecipient()==-1){ // timeout
765 throw new JSchException("channel is not opened.");
766 }
767 if(this.open_confirmation==false){ // SSH_MSG_CHANNEL_OPEN_FAILURE
768 throw new JSchException("channel is not opened.");
769 }
770 connected=true;
771 }
772}

Callers 3

connectMethod · 0.95
connectMethod · 0.80
runMethod · 0.80

Calls 5

getSessionMethod · 0.95
isConnectedMethod · 0.95
genChannelOpenPacketMethod · 0.95
writeMethod · 0.95
getRecipientMethod · 0.95

Tested by

no test coverage detected