blob: 2830cbc8d4b799d89a4579dbe157534719115cbb [file] [log] [blame]
Andrew Brownec843052016-09-02 21:26:06 -07001/*
2 * jndn-utils
3 * Copyright (c) 2016, Intel Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU Lesser General Public License,
7 * version 3, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT ANY
10 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
12 * more details.
13 */
14
15package com.intel.jndn.utils;
16
Andrew Brown6e002952016-09-12 20:36:45 -070017import java.io.IOException;
18import java.util.Set;
Andrew Brownec843052016-09-02 21:26:06 -070019
20/**
21 * @author Andrew Brown, andrew.brown@intel.com
22 */
Andrew Brown770e00c2016-09-07 15:10:00 -070023public interface Subscriber extends AutoCloseable {
24 /**
Andrew Brown6e002952016-09-12 20:36:45 -070025 * @return the currently known publishers
Andrew Brown770e00c2016-09-07 15:10:00 -070026 */
Andrew Brown6e002952016-09-12 20:36:45 -070027 Set<Long> knownPublishers();
28
29 /**
30 * Open the subscriber transport mechanisms and retrieve publisher messages
31 *
32 * @throws IOException if the subscriber fails during network access
33 */
34 void open() throws IOException;
Andrew Brownec843052016-09-02 21:26:06 -070035}