1*977Smax.romanov@gmail.com package nginx.unit; 2*977Smax.romanov@gmail.com 3*977Smax.romanov@gmail.com import java.lang.String; 4*977Smax.romanov@gmail.com import java.util.Enumeration; 5*977Smax.romanov@gmail.com import java.util.NoSuchElementException; 6*977Smax.romanov@gmail.com 7*977Smax.romanov@gmail.com public class HeaderNamesEnumeration implements Enumeration<String> { 8*977Smax.romanov@gmail.com 9*977Smax.romanov@gmail.com private long headers_ptr; 10*977Smax.romanov@gmail.com private long size; 11*977Smax.romanov@gmail.com private long pos = 0; 12*977Smax.romanov@gmail.com HeaderNamesEnumeration(long _headers_ptr, long _size)13*977Smax.romanov@gmail.com public HeaderNamesEnumeration(long _headers_ptr, long _size) { 14*977Smax.romanov@gmail.com headers_ptr = _headers_ptr; 15*977Smax.romanov@gmail.com size = _size; 16*977Smax.romanov@gmail.com } 17*977Smax.romanov@gmail.com 18*977Smax.romanov@gmail.com @Override hasMoreElements()19*977Smax.romanov@gmail.com public boolean hasMoreElements() 20*977Smax.romanov@gmail.com { 21*977Smax.romanov@gmail.com if (pos >= size) { 22*977Smax.romanov@gmail.com return false; 23*977Smax.romanov@gmail.com } 24*977Smax.romanov@gmail.com 25*977Smax.romanov@gmail.com pos = nextElementPos(headers_ptr, size, pos); 26*977Smax.romanov@gmail.com return pos < size; 27*977Smax.romanov@gmail.com } 28*977Smax.romanov@gmail.com nextElementPos(long headers_ptr, long size, long pos)29*977Smax.romanov@gmail.com static private native long nextElementPos(long headers_ptr, long size, long pos); 30*977Smax.romanov@gmail.com 31*977Smax.romanov@gmail.com @Override nextElement()32*977Smax.romanov@gmail.com public String nextElement() 33*977Smax.romanov@gmail.com { 34*977Smax.romanov@gmail.com if (pos >= size) { 35*977Smax.romanov@gmail.com throw new NoSuchElementException(); 36*977Smax.romanov@gmail.com } 37*977Smax.romanov@gmail.com 38*977Smax.romanov@gmail.com return nextElement(headers_ptr, size, pos++); 39*977Smax.romanov@gmail.com } 40*977Smax.romanov@gmail.com nextElement(long headers_ptr, long size, long pos)41*977Smax.romanov@gmail.com static private native String nextElement(long headers_ptr, long size, long pos); 42*977Smax.romanov@gmail.com } 43