My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
* Copyright 2011 LMAX Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.lmax.disruptor;

/**
* Callback interface to be implemented for processing events as they become available in the {@link RingBuffer}
*
* @see BatchEventProcessor#setExceptionHandler(ExceptionHandler) if you want to handle exceptions propigated out of the handler.
*
* @param <T> event implementation storing the data for sharing during exchange or parallel coordination of an event.
*/
public interface EventHandler<T>
{
/**
* Called when a publisher has published an event to the {@link RingBuffer}
*
* @param event published to the {@link RingBuffer}
* @param sequence of the event being processed
* @param endOfBatch flag to indicate if this is the last event in a batch from the {@link RingBuffer}
* @throws Exception if the EventHandler would like the exception handled further up the chain.
*/
void onEvent(T event, long sequence, boolean endOfBatch) throws Exception;
}

Change log

r311 by mjpt777 on Sep 2, 2011   Diff
Removed AbstractEvent so any object can be
put into the RingBuffer, and fixed some
false sharing in the performance tests to
make them more predictable.
Go to: 
Project members, sign in to write a code review

Older revisions

r251 by mjpt777 on Aug 11, 2011   Diff
Renamed BatchEventHandler to
EventHandler and made it a single
method interface by added a boolean
flag to indicate end of batch.
r245 by mjpt777 on Aug 5, 2011   Diff
Rename Barrier to DependencyBarrier.
r243 by mjpt777 on Aug 5, 2011   Diff
Simplified Barrier naming.
All revisions of this file

File info

Size: 1527 bytes, 36 lines
Powered by Google Project Hosting