mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Yannick Lecaillez
25.49.2016 93b66e078bb0cffd14816c082eb0923f665fc279
Minor fix: throw IllegalStateException on multiple subscriber.
1 files modified
13 ■■■■■ changed files
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java 13 ●●●●● patch | view | raw | blame | history
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java
@@ -347,6 +347,19 @@
                @Override
                public void subscribe(final Subscriber<? super LdapRequestEnvelope> subscriber) {
                    if (downstream != null) {
                        // https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.0/README.md#specification
                        // #1.9: ... the only legal way to signal failure (or reject the Subscriber) is by calling
                        // onError (after calling onSubscribe).
                        subscriber.onSubscribe(new Subscription() {
                            @Override
                            public void request(long n) {
                            }
                            @Override
                            public void cancel() {
                            }
                        });
                        subscriber.onError(new IllegalStateException("read() cannot be subscribed multiple times"));
                        return;
                    }
                    downstream = new GrizzlyBackpressureSubscription(subscriber);