[
https://issues.apache.org/jira/browse/HTTPCORE-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12751772#action_12751772
]
Patrick Moore commented on HTTPCORE-205:
----------------------------------------
re #1 ---I meant that you need a waitFor(int time, TimeUnit timeUnit) throws
TimeoutException; method on ListenerEndPoint
re #2 -- by making interface that is more complete and not referencing
ListenerEndPointImpl in the code, then the user can supply their own
implementation of ListenerEndPoint that can be as fancy as they want ( so that
you don't have to be )
Really this change is just about putting all the public ListenerEndPointImpl
methods in the ListenerEndPoint interface (or a subinterface
ListenerEndPointImplementor )
> AbstractMultiworkerIOReactor needs optional Latch to signal when ready.
> -----------------------------------------------------------------------
>
> Key: HTTPCORE-205
> URL: https://issues.apache.org/jira/browse/HTTPCORE-205
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore NIO
> Affects Versions: 4.0.1
> Reporter: Patrick Moore
> Fix For: 4.1
>
> Attachments: AbstractMultiworkerIOReactor.patch
>
>
> AbstractMultiworkerIOReactor may take some time getting ready ( needs to
> start threads for example ). In order to ensure that it is ready before
> starting to send requests, a CountDownLatch is needed.
> This is important for our test suites which are launch the reactor and then
> immediately trying to hit it. ( and failing )
> for (int i = 0; i < this.workerCount; i++) {
> if (this.status != IOReactorStatus.ACTIVE) {
> return;
> }
> this.threads[i].start();
> }
> LINE 303: this.countDownLatch.countDown(); <<<<<<<
> for (;;) {
> int readyCount;
> try {
> readyCount = this.selector.select(this.selectTimeout);
> } catch (InterruptedIOException ex) {
> throw ex;
> } catch (IOException ex) {
> throw new IOReactorException("Unexpected selector
> failure", ex);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]