func (alloc *Allocator) Free(ident string, addrToFree address.Address) error {
	errChan := make(chan error)
	alloc.actionChan <- func() {
		if alloc.removeOwned(ident, addrToFree) {
			alloc.debugln("Freed", addrToFree, "for", ident)
			alloc.space.Free(addrToFree)
			errChan <- nil
			return
		}

		errChan <- fmt.Errorf("Free: address %s not found for %s", addrToFree, ident)
	}
	return <-errChan
}
// Free (Sync) - release single IP address for container
Free (Sync) - release single IP address for container
// Free ( Sync ) - release single IP address for container
func (alloc *Allocator) Free(ident string, addrToFree address.Address) error {
	errChan := make(chan error)
	alloc.actionChan <- func() {
		if alloc.removeOwned(ident, addrToFree) {
			alloc.debugln("Freed", addrToFree, "for", ident)
			alloc.space.Free(addrToFree)
			errChan <- nil
			return
		}
		errChan <- fmt.Errorf("Free: address %s not found for %s", addrToFree, ident)
	}
	return <-errChan
}
func ( alloc * Allocator ) Free ( ident string , addrToFree address . Address ) error { errChan := make ( chan error ) alloc . actionChan <- func ( ) { if alloc . removeOwned ( ident , addrToFree ) { alloc . debugln ( " " , addrToFree , " " , ident ) alloc . space . Free ( addrToFree ) errChan <- nil return } errChan <- fmt . Errorf ( " " , addrToFree , ident ) } return <- errChan }
Free (Sync) - release single IP address for container
Free ( Sync ) - release single IP address for container