29 lines
		
	
	
		
			768 B
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			768 B
		
	
	
	
		
			Go
		
	
	
| // Go 1.0 compatibility functions
 | |
| 
 | |
| // +build !go1.1
 | |
| 
 | |
| package swift
 | |
| 
 | |
| import (
 | |
| 	"log"
 | |
| 	"net/http"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // Cancel the request - doesn't work under < go 1.1
 | |
| func cancelRequest(transport http.RoundTripper, req *http.Request) {
 | |
| 	log.Printf("Tried to cancel a request but couldn't - recompile with go 1.1")
 | |
| }
 | |
| 
 | |
| // Reset a timer - Doesn't work properly < go 1.1
 | |
| //
 | |
| // This is quite hard to do properly under go < 1.1 so we do a crude
 | |
| // approximation and hope that everyone upgrades to go 1.1 quickly
 | |
| func resetTimer(t *time.Timer, d time.Duration) {
 | |
| 	t.Stop()
 | |
| 	// Very likely this doesn't actually work if we are already
 | |
| 	// selecting on t.C.  However we've stopped the original timer
 | |
| 	// so won't break transfers but may not time them out :-(
 | |
| 	*t = *time.NewTimer(d)
 | |
| }
 |