예제 #1
0
 public IteratorAnonymousInnerClassHelper(DocumentsWriterFlushControl outerInstance, int upto)
 {
     this.outerInstance = outerInstance;
     this.upto          = upto;
     i = 0;
 }
예제 #2
0
 /// <summary>
 /// Called for each document update on the given <see cref="ThreadState"/>'s
 /// <see cref="DocumentsWriterPerThread"/>.
 /// <para/>
 /// Note: this method is called  synchronized on the given
 /// <see cref="DocumentsWriterFlushControl"/> and it is guaranteed that the calling
 /// thread holds the lock on the given <see cref="ThreadState"/>
 /// </summary>
 public virtual void OnUpdate(DocumentsWriterFlushControl control, ThreadState state)
 {
     OnInsert(control, state);
     OnDelete(control, state);
 }
예제 #3
0
 /// <summary>
 /// Called for each document addition on the given <see cref="ThreadState"/>s
 /// <see cref="DocumentsWriterPerThread"/>.
 /// <para/>
 /// Note: this method is synchronized by the given
 /// <see cref="DocumentsWriterFlushControl"/> and it is guaranteed that the calling
 /// thread holds the lock on the given <see cref="ThreadState"/>
 /// </summary>
 public abstract void OnInsert(DocumentsWriterFlushControl control, ThreadState state);
예제 #4
0
 /// <summary>
 /// Marks the most ram consuming active <see cref="DocumentsWriterPerThread"/> flush
 /// pending
 /// </summary>
 protected virtual void MarkLargestWriterPending(DocumentsWriterFlushControl control, ThreadState perThreadState, long currentBytesPerThread)
 {
     control.SetFlushPending(FindLargestNonPendingWriter(control, perThreadState));
 }