package org.limewire.lifecycle;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(value = {ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
/**
* Used to mark methods on <code>Service</code> impls as wanting to run asynchronously
*/
public @interface Asynchronous {
/**
* @return how long to wait for this asynchronous task to complete.
* Units are in seconds. Positive values indicate a timeout, negative values indicate no waiting is necessary.
*/
int timeout() default -1;
/**
* @return whether the asynchronous task should run as a daemon or not
*/
boolean daemon() default true;
}