summaryrefslogtreecommitdiffhomepage
path: root/src/java/nginx/unit/HeadersEnumeration.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/HeadersEnumeration.java
parentec7319d32c9c41597a99a9422ff324c97a92bb21 (diff)
downloadunit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.gz
unit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.bz2
Introducing Java Servlet Container beta.
Diffstat (limited to 'src/java/nginx/unit/HeadersEnumeration.java')
-rw-r--r--src/java/nginx/unit/HeadersEnumeration.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/java/nginx/unit/HeadersEnumeration.java b/src/java/nginx/unit/HeadersEnumeration.java
new file mode 100644
index 00000000..31b5ae24
--- /dev/null
+++ b/src/java/nginx/unit/HeadersEnumeration.java
@@ -0,0 +1,40 @@
+package nginx.unit;
+
+import java.lang.String;
+import java.util.Enumeration;
+
+public class HeadersEnumeration implements Enumeration<String> {
+
+ private long headers_ptr;
+ private long size;
+ private long initial_pos;
+ private long pos;
+
+ public HeadersEnumeration(long _headers_ptr, long _size, long _initial_pos) {
+ headers_ptr = _headers_ptr;
+ size = _size;
+ initial_pos = _initial_pos;
+ pos = _initial_pos;
+ }
+
+ @Override
+ public boolean hasMoreElements()
+ {
+ if (pos >= size) {
+ return false;
+ }
+
+ pos = nextElementPos(headers_ptr, size, initial_pos, pos);
+ return pos < size;
+ }
+
+ static private native long nextElementPos(long headers_ptr, long size, long initial_pos, long pos);
+
+ @Override
+ public String nextElement()
+ {
+ return nextElement(headers_ptr, size, initial_pos, pos++);
+ }
+
+ static private native String nextElement(long headers_ptr, long size, long initial_pos, long pos);
+}