summaryrefslogtreecommitdiffhomepage
path: root/src/java/nginx/unit/HeaderNamesEnumeration.java
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@gmail.com>2019-02-28 18:02:42 +0300
committerMax Romanov <max.romanov@gmail.com>2019-02-28 18:02:42 +0300
commit5bfdebb9e4161a689113d73775498949a09d7fb5 (patch)
treefcb69169e3da983db0eb1f48d2dccc2ac2ff867b /src/java/nginx/unit/HeaderNamesEnumeration.java
parentec7319d32c9c41597a99a9422ff324c97a92bb21 (diff)
downloadunit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.gz
unit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.bz2
Introducing Java Servlet Container beta.
Diffstat (limited to 'src/java/nginx/unit/HeaderNamesEnumeration.java')
-rw-r--r--src/java/nginx/unit/HeaderNamesEnumeration.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/java/nginx/unit/HeaderNamesEnumeration.java b/src/java/nginx/unit/HeaderNamesEnumeration.java
new file mode 100644
index 00000000..d81b8778
--- /dev/null
+++ b/src/java/nginx/unit/HeaderNamesEnumeration.java
@@ -0,0 +1,42 @@
+package nginx.unit;
+
+import java.lang.String;
+import java.util.Enumeration;
+import java.util.NoSuchElementException;
+
+public class HeaderNamesEnumeration implements Enumeration<String> {
+
+ private long headers_ptr;
+ private long size;
+ private long pos = 0;
+
+ public HeaderNamesEnumeration(long _headers_ptr, long _size) {
+ headers_ptr = _headers_ptr;
+ size = _size;
+ }
+
+ @Override
+ public boolean hasMoreElements()
+ {
+ if (pos >= size) {
+ return false;
+ }
+
+ pos = nextElementPos(headers_ptr, size, pos);
+ return pos < size;
+ }
+
+ static private native long nextElementPos(long headers_ptr, long size, long pos);
+
+ @Override
+ public String nextElement()
+ {
+ if (pos >= size) {
+ throw new NoSuchElementException();
+ }
+
+ return nextElement(headers_ptr, size, pos++);
+ }
+
+ static private native String nextElement(long headers_ptr, long size, long pos);
+}