|  | @@ -44,7 +44,7 @@ type KCP struct {
 | 
	
		
			
				|  |  |  	snd_buf         *SendingWindow
 | 
	
		
			
				|  |  |  	receivingWorker *ReceivingWorker
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	fastresend        int32
 | 
	
		
			
				|  |  | +	fastresend        uint32
 | 
	
		
			
				|  |  |  	congestionControl bool
 | 
	
		
			
				|  |  |  	output            *BufferedSegmentWriter
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -65,6 +65,8 @@ func NewKCP(conv uint16, output *AuthenticationWriter) *KCP {
 | 
	
		
			
				|  |  |  	kcp.snd_buf = NewSendingWindow(kcp, effectiveConfig.GetSendingWindowSize())
 | 
	
		
			
				|  |  |  	kcp.cwnd = kcp.snd_wnd
 | 
	
		
			
				|  |  |  	kcp.receivingWorker = NewReceivingWorker(kcp)
 | 
	
		
			
				|  |  | +	kcp.fastresend = 2
 | 
	
		
			
				|  |  | +	kcp.congestionControl = effectiveConfig.Congestion
 | 
	
		
			
				|  |  |  	return kcp
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -356,22 +358,6 @@ func (kcp *KCP) Update(current uint32) {
 | 
	
		
			
				|  |  |  	kcp.flush()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -// NoDelay options
 | 
	
		
			
				|  |  | -// fastest: ikcp_nodelay(kcp, 1, 20, 2, 1)
 | 
	
		
			
				|  |  | -// nodelay: 0:disable(default), 1:enable
 | 
	
		
			
				|  |  | -// interval: internal update timer interval in millisec, default is 100ms
 | 
	
		
			
				|  |  | -// resend: 0:disable fast resend(default), 1:enable fast resend
 | 
	
		
			
				|  |  | -// nc: 0:normal congestion control(default), 1:disable congestion control
 | 
	
		
			
				|  |  | -func (kcp *KCP) NoDelay(interval uint32, resend int, congestionControl bool) int {
 | 
	
		
			
				|  |  | -	kcp.interval = interval
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	if resend >= 0 {
 | 
	
		
			
				|  |  | -		kcp.fastresend = int32(resend)
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	kcp.congestionControl = congestionControl
 | 
	
		
			
				|  |  | -	return 0
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  // WaitSnd gets how many packet is waiting to be sent
 | 
	
		
			
				|  |  |  func (kcp *KCP) WaitSnd() uint32 {
 | 
	
		
			
				|  |  |  	return uint32(kcp.snd_buf.Len()) + kcp.snd_queue.Len()
 |