@@ -0,0 +1,2157 @@
+package rx.broadcast.integration;%0A%0Aimport org.junit.Test;%0Aimport rx.Observable;%0Aimport rx.broadcast.Broadcast;%0Aimport rx.broadcast.SingleSourceFifoOrder;%0Aimport rx.broadcast.TestValue;%0Aimport rx.broadcast.UdpBroadcast;%0Aimport rx.observers.TestSubscriber;%0A%0Aimport java.net.DatagramSocket;%0Aimport java.net.InetAddress;%0Aimport java.net.SocketException;%0Aimport java.net.UnknownHostException;%0Aimport java.util.concurrent.TimeUnit;%0A%0Apublic final class SingleSourceFifoOrderUdpBroadcastTest %7B%0A    private static final int MESSAGE_COUNT = 100;%0A%0A    private static final long TIMEOUT = 30;%0A%0A    private static final TimeUnit TIMEOUT_UNIT = TimeUnit.SECONDS;%0A%0A    private static final Observable%3CTestValue%3E MESSAGES = Observable.range(1, MESSAGE_COUNT).map(TestValue::new);%0A%0A    @Test%0A    public final void receive() throws SocketException, UnknownHostException %7B%0A        final int port = Integer.valueOf(System.getProperty(%22port%22));%0A        final TestSubscriber%3CTestValue%3E subscriber = new TestSubscriber%3C%3E();%0A        final DatagramSocket socket = new DatagramSocket(port);%0A        final InetAddress destination = InetAddress.getByName(System.getProperty(%22destination%22));%0A        final Broadcast broadcast = new UdpBroadcast%3C%3E(socket, destination, port, new SingleSourceFifoOrder%3C%3E());%0A%0A        broadcast.valuesOfType(TestValue.class).subscribe(subscriber);%0A%0A        subscriber.awaitTerminalEventAndUnsubscribeOnTimeout(TIMEOUT, TIMEOUT_UNIT);%0A        subscriber.assertNoErrors();%0A        subscriber.assertValueCount(MESSAGE_COUNT);%0A        subscriber.assertReceivedOnNext(MESSAGES.toList().toBlocking().single());%0A    %7D%0A%0A    public static void main(final String%5B%5D args) throws SocketException, UnknownHostException %7B%0A        final int port = Integer.valueOf(System.getProperty(%22port%22));%0A        final DatagramSocket socket = new DatagramSocket(port);%0A        final InetAddress destination = InetAddress.getByName(System.getProperty(%22destination%22));%0A        final Broadcast broadcast = new UdpBroadcast%3C%3E(socket, destination, port, new SingleSourceFifoOrder%3C%3E());%0A%0A        MESSAGES.flatMap(broadcast::send).toBlocking().subscribe(null, System.err::println);%0A    %7D%0A%7D%0A

Add SSF reorder integration test