connectivity/error_acn.go

52 lines
1.2 KiB
Go

package connectivity
import (
"errors"
"fmt"
"net"
)
// ErrorACN - a status-callback safe errored ACN. Use this when ACN construction goes wrong
// and you need a safe substitute that can later be replaced with a working ACN without impacting calling clients.
type ErrorACN struct {
statusCallbackCache func(int, string)
}
func (e ErrorACN) Callback() func(int, string) {
return e.statusCallbackCache
}
func (e ErrorACN) GetBootstrapStatus() (int, string) {
return -1, "error initializing tor"
}
func (e ErrorACN) WaitTillBootstrapped() error {
return errors.New("error initializing tor")
}
func (e *ErrorACN) SetStatusCallback(callback func(int, string)) {
e.statusCallbackCache = callback
}
func (e ErrorACN) Restart() {
}
func (e ErrorACN) Open(hostname string) (net.Conn, string, error) {
return nil, "", fmt.Errorf("error initializing tor")
}
func (e ErrorACN) Listen(identity PrivateKey, port int) (ListenService, error) {
return nil, fmt.Errorf("error initializing tor")
}
func (e ErrorACN) GetPID() (int, error) {
return -1, fmt.Errorf("error initializing tor")
}
func (e ErrorACN) GetVersion() string {
return "Error Initializing Tor"
}
func (e ErrorACN) Close() {
}