Class ListenerManager<T>
java.lang.Object
com.biglybt.core.util.ListenerManager<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate AEThread2private AESemaphoreprivate CopyOnWriteList<T> private intprivate final Stringprivate final ListenerManagerDispatcher<T> private ListenerManagerDispatcherWithException<T> private static final boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedListenerManager(String _name, ListenerManagerDispatcher<T> _target, boolean _async) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(T listener) voidclear()static <T> ListenerManager<T> createAsyncManager(String name, ListenerManagerDispatcher<T> target) static <T> ListenerManager<T> createManager(String name, ListenerManagerDispatcher<T> target) voidvoidvoidvoidprotected voiddispatchInternal(List<T> listeners_ref, int type, Object value) protected voiddispatchInternal(T listener, int type, Object value) voidvoiddispatchWithException(int type, Object value) static <T> voiddispatchWithTimeout(List<T> _listeners, ListenerManagerDispatcher<T> _dispatcher, long _timeout) protected voiddoDispatch(T listener, int type, Object value) protected voiddoDispatchWithException(T listener, int type, Object value) protected StringgetListenerName(T listener) booleanhasListener(T listener) voidremoveListener(T listener) longsize()
-
Field Details
-
TIME_LISTENERS
private static final boolean TIME_LISTENERS- See Also:
-
name
-
target
-
target_with_exception
-
async
private final boolean async -
async_thread
-
listeners
-
dispatch_queue
-
dispatch_sem
-
logged_too_many_count_next
private int logged_too_many_count_next
-
-
Constructor Details
-
ListenerManager
-
-
Method Details
-
createManager
public static <T> ListenerManager<T> createManager(String name, ListenerManagerDispatcher<T> target) -
createAsyncManager
public static <T> ListenerManager<T> createAsyncManager(String name, ListenerManagerDispatcher<T> target) -
addListener
-
removeListener
-
hasListener
-
clear
public void clear() -
getListenersCopy
-
dispatch
-
dispatch
-
dispatchWithException
-
dispatch
-
dispatch
-
getListenerName
-
doDispatch
-
doDispatchWithException
-
dispatchInternal
-
dispatchInternal
-
dispatchLoop
public void dispatchLoop() -
dispatchWithTimeout
public static <T> void dispatchWithTimeout(List<T> _listeners, ListenerManagerDispatcher<T> _dispatcher, long _timeout) -
size
public long size()
-