Class PriorEventBufferMulti
- All Implemented Interfaces:
ViewUpdatedCollection
,RelativeAccessByEventNIndex
Buffers only exactly those events in new data and old data that are being asked for via the 2 or more 'prior' functions that specify different indexes. For example "select prior(2, price), prior(1, price)" results in on buffer instance handling both the need to the immediatly prior (1) and the 2-events-ago event (2).
As all views are required to post new data and post old data that removes the new data to subsequent views, this buffer can be attached to all views and should not result in a memory leak.
When the buffer receives old data (rstream) events it removes the prior events to the rstream events from the buffer the next time it receives a post (not immediatly) to allow queries to the buffer.
-
Field Summary
Fields inherited from interface com.espertech.esper.common.internal.view.access.RelativeAccessByEventNIndex
EPTYPE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
De-allocate resources held by the collection.int
getRelativeToEnd
(int index) getRelativeToEvent
(EventBean theEvent, int priorToIndex) Returns the prior event to the given event counting back the number of events as supplied by index.int
void
Accepts view insert and remove stream.void
update
(EventBean[] newData, EventBean[] oldData, PriorEventBufferChangeCaptureMulti capture)
-
Constructor Details
-
PriorEventBufferMulti
public PriorEventBufferMulti(int[] priorToIndexSet) Ctor.- Parameters:
priorToIndexSet
- holds a list of prior-event indexes.For example, an array {0,4,6} means the current event, 4 events before the current event and 6 events before the current event.
-
-
Method Details
-
update
Description copied from interface:ViewUpdatedCollection
Accepts view insert and remove stream.- Specified by:
update
in interfaceViewUpdatedCollection
- Parameters:
newData
- is the insert stream events or null if no dataoldData
- is the remove stream events or null if no data
-
update
public void update(EventBean[] newData, EventBean[] oldData, PriorEventBufferChangeCaptureMulti capture) -
getRelativeToEvent
Description copied from interface:RelativeAccessByEventNIndex
Returns the prior event to the given event counting back the number of events as supplied by index.- Specified by:
getRelativeToEvent
in interfaceRelativeAccessByEventNIndex
- Parameters:
theEvent
- is the event to count back frompriorToIndex
- is the number of events to go back- Returns:
- event
-
getRelativeToEnd
- Specified by:
getRelativeToEnd
in interfaceRelativeAccessByEventNIndex
-
getWindowToEventCount
public int getWindowToEventCount()- Specified by:
getWindowToEventCount
in interfaceRelativeAccessByEventNIndex
-
getWindowToEvent
- Specified by:
getWindowToEvent
in interfaceRelativeAccessByEventNIndex
-
getWindowToEventCollReadOnly
- Specified by:
getWindowToEventCollReadOnly
in interfaceRelativeAccessByEventNIndex
-
destroy
public void destroy()Description copied from interface:ViewUpdatedCollection
De-allocate resources held by the collection.- Specified by:
destroy
in interfaceViewUpdatedCollection
-
getPriorEventMap
-
getNewEvents
-
getNumEventsInsertBuf
public int getNumEventsInsertBuf()- Specified by:
getNumEventsInsertBuf
in interfaceViewUpdatedCollection
-