X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2FPipeline.java;h=c63b272dcc79644098be360eef4e93ddefc0b729;hb=2f6ec5906ea398bc39d2fe85bc288191d2c97057;hp=923012e2640da80bcee51c1b20f07acc06aec9a7;hpb=2548b73c91fa18f4e59fbe9d8f652d5580f643bc;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/Pipeline.java b/src/main/java/net/pterodactylus/sonitus/data/Pipeline.java index 923012e..c63b272 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/Pipeline.java +++ b/src/main/java/net/pterodactylus/sonitus/data/Pipeline.java @@ -138,15 +138,16 @@ public class Pipeline implements Iterable { } List filters = Lists.newArrayList(); filters.add(source); - source.open(Metadata.UNKNOWN); + Metadata currentMetadata = Metadata.UNKNOWN; /* collect all source->sink pairs. */ while (!filters.isEmpty()) { Filter filter = filters.remove(0); + logger.info(String.format("Opening %s with %s...", filter.name(), currentMetadata)); + filter.open(currentMetadata); + currentMetadata = filter.metadata(); Collection sinks = this.filters.get(filter); connections.add(new Connection(filter, sinks)); for (Filter sink : sinks) { - logger.info(String.format("Opening %s with %s...", sink.name(), source.metadata())); - sink.open(filter.metadata()); filters.add(sink); } } @@ -339,6 +340,24 @@ public class Pipeline implements Iterable { // /** + * Returns the source of this connection. + * + * @return The source of this connection + */ + public Filter source() { + return source; + } + + /** + * Returns the sinks of this connection. + * + * @return The sinks of this connection + */ + public Collection sinks() { + return sinks; + } + + /** * Returns the time this connection was started. * * @return The time this connection was started (in milliseconds since Jan 1,