 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # go-reuseport
 | |
| 
 | |
| [](https://protocol.ai)
 | |
| [](https://godoc.org/github.com/libp2p/go-reuseport)
 | |
| [](https://libp2p.io/)
 | |
| [](https://webchat.freenode.net/?channels=%23libp2p)
 | |
| [](https://codecov.io/gh/libp2p/go-reuseport)
 | |
| [](https://travis-ci.org/libp2p/go-reuseport)
 | |
| [](https://discuss.libp2p.io)
 | |
| 
 | |
| This package enables listening and dialing from _the same_ TCP or UDP port.
 | |
| This means that the following sockopts may be set:
 | |
| 
 | |
| ```
 | |
| SO_REUSEADDR
 | |
| SO_REUSEPORT
 | |
| ```
 | |
| 
 | |
| This is a simple package to help with address reuse. This is particularly
 | |
| important when attempting to do TCP NAT holepunching, which requires a process
 | |
| to both Listen and Dial on the same TCP port. This package provides some
 | |
| utilities around enabling this behaviour on various OS.
 | |
| 
 | |
| ## Examples
 | |
| 
 | |
| 
 | |
| ```Go
 | |
| // listen on the same port. oh yeah.
 | |
| l1, _ := reuse.Listen("tcp", "127.0.0.1:1234")
 | |
| l2, _ := reuse.Listen("tcp", "127.0.0.1:1234")
 | |
| ```
 | |
| 
 | |
| ```Go
 | |
| // dial from the same port. oh yeah.
 | |
| l1, _ := reuse.Listen("tcp", "127.0.0.1:1234")
 | |
| l2, _ := reuse.Listen("tcp", "127.0.0.1:1235")
 | |
| c, _ := reuse.Dial("tcp", "127.0.0.1:1234", "127.0.0.1:1235")
 | |
| ```
 | |
| 
 | |
| **Note: cant dial self because tcp/ip stacks use 4-tuples to identify connections, and doing so would clash.**
 | |
| 
 | |
| ## Tested
 | |
| 
 | |
| Tested on `darwin`, `linux`, and `windows`.
 | |
| 
 | |
| ---
 | |
| 
 | |
| The last gx published version of this module was: 0.2.2: Qme8kdM7thoCqLqd7GYCRqipoZJS64rhJo5MBcTpyWfsL9
 |