All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bt.torrent.annotation.Consumes Maven / Gradle / Ivy

There is a newer version: 1.10
Show newest version
package bt.torrent.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotates messaging agents, that act as message consumers.
 *
 * 

Both the annotated method and the containing class must be public and have one of the following lists of parameters:

*
    *
  • (T message, {@link bt.torrent.messaging.MessageContext} context)
  • *
  • (T message)
  • *
*

where T is a (subtype of) {@link bt.protocol.Message}.

* *

For instance, consumer of {@link bt.protocol.Piece} messages may have one of two forms:

*
    *
  • {@code public void consume(Piece piece, MessageContext context)}
  • *
  • {@code public void consume(Piece piece)}
  • *
* *

A generic consumer, that is interested in receiving all types of messages:

*
    *
  • {@code public void consume(Message message, MessageContext context)}
  • *
  • {@code public void consume(Message message)}
  • *
* * @see bt.torrent.messaging.MessageConsumer * @since 1.0 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Consumes {}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy