Hi Suho,

It's clear now. Thank you!

Regards,
Dilini


On Sun, Aug 10, 2014 at 11:45 PM, Sriskandarajah Suhothayan <[email protected]>
wrote:

>
>
>
> On Sun, Aug 10, 2014 at 10:13 PM, Dilini Muthumala <[email protected]>
> wrote:
>
>> Hi,
>>
>> In org.wso2.siddhi.core.query.processor.window.LengthWindowProcessor [1],
>>
>> I'm trying to figure out why we don't emit a current event, when index <
>> toFullQueueSize - 1. Please see my comment given in the source code
>> below. Since an event is being added to the window, I feel that the event
>> has to be emitted as a current event.
>>
>> Any ideas?
>>
>> @Override
>>     protected void processEvent(InListEvent listEvent) {
>>         acquireLock();
>>         try {
>>             int toFullQueueSize = (lengthToKeep - window.size());
>>             if (listEvent.getActiveEvents() > toFullQueueSize) {
>>                 InEvent[] newEvents = new InEvent[toFullQueueSize];
>>                 int index = 0;
>>                 for (int i = 0; i < listEvent.getActiveEvents(); i++) {
>>                     InEvent inEvent = (InEvent) listEvent.getEvent(i);
>>                     if (index < toFullQueueSize - 1) {
>>                         newEvents[index] = inEvent;
>>                         window.put(new RemoveEvent(inEvent,
>> Long.MAX_VALUE));
>>                         index++;
>>
>>     //why don't we emit a current event here?
>>
>> Here we are not emitting an event as we are emitting all the events at
> once at index == toFullQueueSize - 1
> Note this code only executes when listEvent.getActiveEvents() >
> toFullQueueSize so it will always reach index == toFullQueueSize - 1
>
>>                      } else if (index == toFullQueueSize - 1) {
>>                         newEvents[index] = inEvent;
>>                         window.put(new RemoveEvent(inEvent,
>> Long.MAX_VALUE));
>>                         index++;
>>                         nextProcessor.process(new
>> InListEvent(newEvents));       //emitting a current event
>>
> Here we are not emitting one event, here we emit  toFullQueueSize number
> of events because we can batch them.
>
>>                     } else {
>>                         RemoveEvent removeEvent = (RemoveEvent)
>> window.poll();
>>
>> removeEvent.setExpiryTime(System.currentTimeMillis());
>>                         nextProcessor.process(removeEvent);
>>                         window.put(new RemoveEvent(inEvent,
>> Long.MAX_VALUE));
>>                         nextProcessor.process(inEvent);
>>        //emitting a current event
>>                     }
>>                 }
>>             } else {
>>                 for (int i = 0; i < listEvent.getActiveEvents(); i++) {
>>                     window.put(new RemoveEvent(listEvent.getEvent(i),
>> Long.MAX_VALUE));
>>                 }
>>                 nextProcessor.process(listEvent);
>>             }
>>         } finally {
>>             releaseLock();
>>         }
>>     }
>>
>> Thanks,
>> Dilini
>>
>> [1]
>> https://github.com/wso2-dev/siddhi/blob/master/modules/siddhi-core/src/main/java/org/wso2/siddhi/core/query/processor/window/LengthWindowProcessor.java
>>  --
>> *Dilini Muthumala*
>> Software Engineer,
>> WSO2 Inc.
>>
>> *E-mail :* [email protected]
>> *Mobile: *+94713 400 029
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
>
> *S. Suhothayan*
> Technical Lead & Team Lead of WSO2 Complex Event Processor
>  *WSO2 Inc. *http://wso2.com
> * <http://wso2.com/>*
> lean . enterprise . middleware
>
>
> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog:
> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/> twitter:
> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in:
> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
>



-- 
*Dilini Muthumala*
Software Engineer,
WSO2 Inc.

*E-mail :* [email protected]
*Mobile: *+94713 400 029
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to