|  Darien Raymond | fc31f9b94c
							
							refactor error interface | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 18b0b87c52
							
							no-op timer | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | f34ad57b58
							
							refactor timer api | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | a57531ef5d
							
							cancel context after finish | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 020b436827
							
							merge bufio into buf | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 7b707275df
							
							naming refactoring | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 4c661bee47
							
							update comments | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 02028bf8be
							
							fix panic when there is no available handler | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | ec95caa946
							
							per inbound session history | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | c4d0227977
							
							simplify dialer and dispatcher parameters | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | f046f334cd
							
							move common/log to app/log | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 08b9778f05
							
							refine user timeout | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | ad7d98473f
							
							remove timeout reader | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | c462e35aad
							
							cancel sessions after inactivity | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | bfcc75f5d1
							
							fix goroutine leak in dynamic port | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | c09ca41161
							
							handle close wait | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | fab20bb0cf
							
							close outbound connections when context is done | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | ca721230e1
							
							split listening settings from inbound proxies and apply context | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | f2b1d5b60c
							
							InboundHandler.Proxy() | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | b40a139310
							
							simplify import | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | f7e1f00c88
							
							rename dispatcher.Interface | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 148e4832eb
							
							leverage global object creator in proxies. | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | d24fe9dbfb
							
							separate network and transport protocol | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 72992c7478
							
							able to close ray stream with error | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | b11d48d73f
							
							simplify app design | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 13e4506781
							
							better error handling in vmess inbound | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | e678000c44
							
							remove release() pattern | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | f6aa7a0053
							
							fix usage of ray stream. | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 609dbc1f13
							
							task engine for all proxies | %!s(int64=8) %!d(string=hai) anos | 
				
					
						|  Darien Raymond | 690d71b16e
							
							go style task engine | %!s(int64=8) %!d(string=hai) anos |