forked from coolaj86/telebit.js
		
	clarify myDuplex => reader, myDuplex2 => writer
This commit is contained in:
		
							parent
							
								
									160c591d7f
								
							
						
					
					
						commit
						04f10090ea
					
				
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								README.md
									
									
									
									
									
								
							| @ -145,7 +145,7 @@ local handler and the tunnel handler. | |||||||
| You could do a little magic like this: | You could do a little magic like this: | ||||||
| 
 | 
 | ||||||
| ```js | ```js | ||||||
| var Dup = { | var StreamImpl = { | ||||||
|   write: function (chunk, encoding, cb) { |   write: function (chunk, encoding, cb) { | ||||||
|     this.__my_socket.write(chunk, encoding); |     this.__my_socket.write(chunk, encoding); | ||||||
|     cb(); |     cb(); | ||||||
| @ -163,34 +163,36 @@ stunnel.connect({ | |||||||
|     // data is the hello packet / first chunk |     // data is the hello packet / first chunk | ||||||
|     // info = { data, servername, port, host, remoteAddress: { family, address, port } } |     // info = { data, servername, port, host, remoteAddress: { family, address, port } } | ||||||
| 
 | 
 | ||||||
|     var myDuplex = new (require('stream').Duplex)(); |     // here "reader" means the socket that looks like the connection being accepted | ||||||
|     var myDuplex2 = new (require('stream').Duplex)(); |     var reader = new (require('stream').Duplex)(); | ||||||
|  |     // here "writer" means the remote-looking part of the socket that driving the connection | ||||||
|  |     var writer = new (require('stream').Duplex)(); | ||||||
|     // duplex = { write, push, end, events: [ 'readable', 'data', 'error', 'end' ] }; |     // duplex = { write, push, end, events: [ 'readable', 'data', 'error', 'end' ] }; | ||||||
| 
 | 
 | ||||||
|     myDuplex2.__my_socket = myDuplex; |     reader.__my_socket = writer; | ||||||
|     myDuplex2._write = Dup.write; |     reader._write = StreamImpl.write; | ||||||
|     myDuplex2._read = Dup.read; |     reader._read = StreamImpl.read; | ||||||
| 
 | 
 | ||||||
|     myDuplex.__my_socket = myDuplex2; |     writer.__my_socket = reader; | ||||||
|     myDuplex._write = Dup.write; |     writer._write = StreamImpl.write; | ||||||
|     myDuplex._read = Dup.read; |     writer._read = StreamImpl.read; | ||||||
| 
 | 
 | ||||||
|     myDuplex.remoteFamily = info.remoteFamily; |     reader.remoteFamily = info.remoteFamily; | ||||||
|     myDuplex.remoteAddress = info.remoteAddress; |     reader.remoteAddress = info.remoteAddress; | ||||||
|     myDuplex.remotePort = info.remotePort; |     reader.remotePort = info.remotePort; | ||||||
| 
 | 
 | ||||||
|     // socket.local{Family,Address,Port} |     // socket.local{Family,Address,Port} | ||||||
|     myDuplex.localFamily = 'IPv4'; |     reader.localFamily = 'IPv4'; | ||||||
|     myDuplex.localAddress = '127.0.01'; |     reader.localAddress = '127.0.01'; | ||||||
|     myDuplex.localPort = info.port; |     reader.localPort = info.port; | ||||||
| 
 | 
 | ||||||
|     httpsServer.emit('connection', myDuplex); |     httpsServer.emit('connection', reader); | ||||||
| 
 | 
 | ||||||
|     if (cb) { |     if (cb) { | ||||||
|       process.nextTick(cb); |       process.nextTick(cb); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return myDuplex2; |     return writer; | ||||||
|   } |   } | ||||||
| }); | }); | ||||||
| ``` | ``` | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user