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() { }