// Copyright 2005 Nick Mathewson, Roger Dingledine // See LICENSE file for copying information package org.torproject.android.control; /** * Abstract interface whose methods are invoked when Tor sends us an event. * * @see TorControlConnection#setEventHandler * @see TorControlConnection#setEvents */ public interface EventHandler { /** * Invoked when a circuit's status has changed. * Possible values for status are: * * * circID is the alphanumeric identifier of the affected circuit, * and path is a comma-separated list of alphanumeric ServerIDs. */ public void circuitStatus(String status, String circID, String path); /** * Invoked when a stream's status has changed. * Possible values for status are: * * * streamID is the alphanumeric identifier of the affected stream, * and its target is specified as address:port. */ public void streamStatus(String status, String streamID, String target); /** * Invoked when the status of a connection to an OR has changed. * Possible values for status are ["LAUNCHED" | "CONNECTED" | "FAILED" | "CLOSED"]. * orName is the alphanumeric identifier of the OR affected. */ public void orConnStatus(String status, String orName); /** * Invoked once per second. read and written are * the number of bytes read and written, respectively, in * the last second. */ public void bandwidthUsed(long read, long written); /** * Invoked whenever Tor learns about new ORs. The orList object * contains the alphanumeric ServerIDs associated with the new ORs. */ public void newDescriptors(java.util.List orList); /** * Invoked when Tor logs a message. * severity is one of ["DEBUG" | "INFO" | "NOTICE" | "WARN" | "ERR"], * and msg is the message string. */ public void message(String severity, String msg); /** * Invoked when an unspecified message is received. * is the message type, and is the message string. */ public void unrecognized(String type, String msg); }