evdispatch 0.1.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +9 -6
- data/ext/revdispatch/libdispatch-0.1/Changelog +11 -0
- data/ext/revdispatch/libdispatch-0.1/Makefile.in +61 -76
- data/ext/revdispatch/libdispatch-0.1/aclocal.m4 +260 -463
- data/ext/revdispatch/libdispatch-0.1/configure +3953 -4668
- data/ext/revdispatch/libdispatch-0.1/src/Makefile.in +59 -73
- data/ext/revdispatch/libdispatch-0.1/src/ev_dispatch.cc +35 -0
- data/ext/revdispatch/libdispatch-0.1/src/ev_dispatch.h +16 -20
- data/ext/revdispatch/libdispatch-0.1/src/ev_http.cc +104 -23
- data/ext/revdispatch/libdispatch-0.1/src/ev_http.h +21 -7
- data/ext/revdispatch/libdispatch-0.1/test/Makefile.am +6 -1
- data/ext/revdispatch/libdispatch-0.1/test/Makefile.in +98 -93
- data/ext/revdispatch/libdispatch-0.1/test/next_test.cc +8 -6
- data/ext/revdispatch/revdispatch.cc +51 -5
- data/ext/revdispatch/server.rb +13 -2
- data/ext/revdispatch/test.rb +1 -0
- data/lib/evdispatch/version.rb +2 -2
- data/test/test_evdispatch.rb +16 -8
- data/website/index.html +2 -2
- data/website/index.txt +1 -2
- metadata +2 -2
@@ -1,8 +1,8 @@
|
|
1
|
-
# Makefile.in generated by automake 1.
|
1
|
+
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
2
2
|
# @configure_input@
|
3
3
|
|
4
4
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
5
|
-
# 2003, 2004, 2005
|
5
|
+
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
8
8
|
# with or without modifications, as long as this notice is preserved.
|
@@ -14,11 +14,15 @@
|
|
14
14
|
|
15
15
|
@SET_MAKE@
|
16
16
|
|
17
|
+
srcdir = @srcdir@
|
18
|
+
top_srcdir = @top_srcdir@
|
17
19
|
VPATH = @srcdir@
|
18
20
|
pkgdatadir = $(datadir)/@PACKAGE@
|
19
21
|
pkglibdir = $(libdir)/@PACKAGE@
|
20
22
|
pkgincludedir = $(includedir)/@PACKAGE@
|
23
|
+
top_builddir = ..
|
21
24
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
25
|
+
INSTALL = @INSTALL@
|
22
26
|
install_sh_DATA = $(install_sh) -c -m 644
|
23
27
|
install_sh_PROGRAM = $(install_sh) -c
|
24
28
|
install_sh_SCRIPT = $(install_sh) -c
|
@@ -32,7 +36,8 @@ PRE_UNINSTALL = :
|
|
32
36
|
POST_UNINSTALL = :
|
33
37
|
build_triplet = @build@
|
34
38
|
host_triplet = @host@
|
35
|
-
bin_PROGRAMS = next_test$(EXEEXT) key_test$(EXEEXT) pipe_test$(EXEEXT)
|
39
|
+
bin_PROGRAMS = next_test$(EXEEXT) key_test$(EXEEXT) pipe_test$(EXEEXT) \
|
40
|
+
opt_test$(EXEEXT)
|
36
41
|
subdir = test
|
37
42
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
38
43
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
@@ -49,41 +54,36 @@ PROGRAMS = $(bin_PROGRAMS)
|
|
49
54
|
am_key_test_OBJECTS = key_test-key_test.$(OBJEXT)
|
50
55
|
key_test_OBJECTS = $(am_key_test_OBJECTS)
|
51
56
|
key_test_DEPENDENCIES =
|
52
|
-
key_test_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
53
|
-
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
54
|
-
$(CXXFLAGS) $(key_test_LDFLAGS) $(LDFLAGS) -o $@
|
55
57
|
am_next_test_OBJECTS = next_test-next_test.$(OBJEXT)
|
56
58
|
next_test_OBJECTS = $(am_next_test_OBJECTS)
|
57
59
|
next_test_DEPENDENCIES =
|
58
|
-
|
59
|
-
|
60
|
-
|
60
|
+
am_opt_test_OBJECTS = opt_test-opt_test.$(OBJEXT)
|
61
|
+
opt_test_OBJECTS = $(am_opt_test_OBJECTS)
|
62
|
+
opt_test_DEPENDENCIES =
|
61
63
|
am_pipe_test_OBJECTS = pipe_test-pipe_test.$(OBJEXT)
|
62
64
|
pipe_test_OBJECTS = $(am_pipe_test_OBJECTS)
|
63
65
|
pipe_test_DEPENDENCIES =
|
64
|
-
|
65
|
-
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
66
|
-
$(CXXFLAGS) $(pipe_test_LDFLAGS) $(LDFLAGS) -o $@
|
67
|
-
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
|
66
|
+
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
68
67
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
69
68
|
am__depfiles_maybe = depfiles
|
70
69
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
71
70
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
72
|
-
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(
|
73
|
-
|
74
|
-
$(
|
71
|
+
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
|
72
|
+
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
73
|
+
$(AM_CXXFLAGS) $(CXXFLAGS)
|
75
74
|
CXXLD = $(CXX)
|
76
|
-
CXXLINK = $(LIBTOOL) --tag=CXX $(
|
77
|
-
|
78
|
-
|
79
|
-
SOURCES = $(key_test_SOURCES) $(next_test_SOURCES) \
|
75
|
+
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
76
|
+
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
77
|
+
SOURCES = $(key_test_SOURCES) $(next_test_SOURCES) $(opt_test_SOURCES) \
|
80
78
|
$(pipe_test_SOURCES)
|
81
79
|
DIST_SOURCES = $(key_test_SOURCES) $(next_test_SOURCES) \
|
82
|
-
$(pipe_test_SOURCES)
|
80
|
+
$(opt_test_SOURCES) $(pipe_test_SOURCES)
|
83
81
|
ETAGS = etags
|
84
82
|
CTAGS = ctags
|
85
83
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
86
84
|
ACLOCAL = @ACLOCAL@
|
85
|
+
AMDEP_FALSE = @AMDEP_FALSE@
|
86
|
+
AMDEP_TRUE = @AMDEP_TRUE@
|
87
87
|
AMTAR = @AMTAR@
|
88
88
|
AR = @AR@
|
89
89
|
AUTOCONF = @AUTOCONF@
|
@@ -110,8 +110,6 @@ EGREP = @EGREP@
|
|
110
110
|
EXEEXT = @EXEEXT@
|
111
111
|
F77 = @F77@
|
112
112
|
FFLAGS = @FFLAGS@
|
113
|
-
GREP = @GREP@
|
114
|
-
INSTALL = @INSTALL@
|
115
113
|
INSTALL_DATA = @INSTALL_DATA@
|
116
114
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
117
115
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
@@ -124,8 +122,9 @@ LIBTOOL = @LIBTOOL@
|
|
124
122
|
LN_S = @LN_S@
|
125
123
|
LTLIBOBJS = @LTLIBOBJS@
|
126
124
|
MAINT = @MAINT@
|
125
|
+
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
126
|
+
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
127
127
|
MAKEINFO = @MAKEINFO@
|
128
|
-
MKDIR_P = @MKDIR_P@
|
129
128
|
OBJEXT = @OBJEXT@
|
130
129
|
PACKAGE = @PACKAGE@
|
131
130
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
@@ -135,18 +134,20 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
135
134
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
136
135
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
137
136
|
RANLIB = @RANLIB@
|
138
|
-
SED = @SED@
|
139
137
|
SET_MAKE = @SET_MAKE@
|
140
138
|
SHELL = @SHELL@
|
141
139
|
STRIP = @STRIP@
|
142
140
|
VERSION = @VERSION@
|
143
|
-
|
144
|
-
abs_srcdir = @abs_srcdir@
|
145
|
-
abs_top_builddir = @abs_top_builddir@
|
146
|
-
abs_top_srcdir = @abs_top_srcdir@
|
141
|
+
ac_ct_AR = @ac_ct_AR@
|
147
142
|
ac_ct_CC = @ac_ct_CC@
|
148
143
|
ac_ct_CXX = @ac_ct_CXX@
|
149
144
|
ac_ct_F77 = @ac_ct_F77@
|
145
|
+
ac_ct_RANLIB = @ac_ct_RANLIB@
|
146
|
+
ac_ct_STRIP = @ac_ct_STRIP@
|
147
|
+
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
148
|
+
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
149
|
+
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
150
|
+
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
150
151
|
am__include = @am__include@
|
151
152
|
am__leading_dot = @am__leading_dot@
|
152
153
|
am__quote = @am__quote@
|
@@ -158,39 +159,28 @@ build_alias = @build_alias@
|
|
158
159
|
build_cpu = @build_cpu@
|
159
160
|
build_os = @build_os@
|
160
161
|
build_vendor = @build_vendor@
|
161
|
-
builddir = @builddir@
|
162
162
|
datadir = @datadir@
|
163
|
-
datarootdir = @datarootdir@
|
164
|
-
docdir = @docdir@
|
165
|
-
dvidir = @dvidir@
|
166
163
|
exec_prefix = @exec_prefix@
|
167
164
|
host = @host@
|
168
165
|
host_alias = @host_alias@
|
169
166
|
host_cpu = @host_cpu@
|
170
167
|
host_os = @host_os@
|
171
168
|
host_vendor = @host_vendor@
|
172
|
-
htmldir = @htmldir@
|
173
169
|
includedir = @includedir@
|
174
170
|
infodir = @infodir@
|
175
171
|
install_sh = @install_sh@
|
176
172
|
libdir = @libdir@
|
177
173
|
libexecdir = @libexecdir@
|
178
|
-
localedir = @localedir@
|
179
174
|
localstatedir = @localstatedir@
|
180
175
|
mandir = @mandir@
|
181
176
|
mkdir_p = @mkdir_p@
|
182
177
|
oldincludedir = @oldincludedir@
|
183
|
-
pdfdir = @pdfdir@
|
184
178
|
prefix = @prefix@
|
185
179
|
program_transform_name = @program_transform_name@
|
186
|
-
psdir = @psdir@
|
187
180
|
sbindir = @sbindir@
|
188
181
|
sharedstatedir = @sharedstatedir@
|
189
|
-
srcdir = @srcdir@
|
190
182
|
sysconfdir = @sysconfdir@
|
191
183
|
target_alias = @target_alias@
|
192
|
-
top_builddir = @top_builddir@
|
193
|
-
top_srcdir = @top_srcdir@
|
194
184
|
next_test_SOURCES = next_test.cc
|
195
185
|
next_test_CPPFLAGS = -I$(top_srcdir)/src/ -I$(LIBEV_PATH)
|
196
186
|
next_test_LDADD = -ldispatch -lev
|
@@ -203,6 +193,10 @@ pipe_test_SOURCES = pipe_test.cc
|
|
203
193
|
pipe_test_CPPFLAGS = -I$(top_srcdir)/src/ -I$(LIBEV_PATH)
|
204
194
|
pipe_test_LDADD = -ldispatch -lev
|
205
195
|
pipe_test_LDFLAGS = -L$(top_srcdir)/src/.libs/ `curl-config --libs` -L$(LIBEV_PATH)/.libs/
|
196
|
+
opt_test_SOURCES = opt_test.cc
|
197
|
+
opt_test_CPPFLAGS = -I$(top_srcdir)/src/ -I$(LIBEV_PATH)
|
198
|
+
opt_test_LDADD = -ldispatch -lev
|
199
|
+
opt_test_LDFLAGS = -L$(top_srcdir)/src/.libs/ `curl-config --libs` -L$(LIBEV_PATH)/.libs/
|
206
200
|
all: all-am
|
207
201
|
|
208
202
|
.SUFFIXES:
|
@@ -238,7 +232,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
|
238
232
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
239
233
|
install-binPROGRAMS: $(bin_PROGRAMS)
|
240
234
|
@$(NORMAL_INSTALL)
|
241
|
-
test -z "$(bindir)" || $(
|
235
|
+
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
242
236
|
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
243
237
|
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
244
238
|
if test -f $$p \
|
@@ -266,13 +260,16 @@ clean-binPROGRAMS:
|
|
266
260
|
done
|
267
261
|
key_test$(EXEEXT): $(key_test_OBJECTS) $(key_test_DEPENDENCIES)
|
268
262
|
@rm -f key_test$(EXEEXT)
|
269
|
-
$(
|
263
|
+
$(CXXLINK) $(key_test_LDFLAGS) $(key_test_OBJECTS) $(key_test_LDADD) $(LIBS)
|
270
264
|
next_test$(EXEEXT): $(next_test_OBJECTS) $(next_test_DEPENDENCIES)
|
271
265
|
@rm -f next_test$(EXEEXT)
|
272
|
-
$(
|
266
|
+
$(CXXLINK) $(next_test_LDFLAGS) $(next_test_OBJECTS) $(next_test_LDADD) $(LIBS)
|
267
|
+
opt_test$(EXEEXT): $(opt_test_OBJECTS) $(opt_test_DEPENDENCIES)
|
268
|
+
@rm -f opt_test$(EXEEXT)
|
269
|
+
$(CXXLINK) $(opt_test_LDFLAGS) $(opt_test_OBJECTS) $(opt_test_LDADD) $(LIBS)
|
273
270
|
pipe_test$(EXEEXT): $(pipe_test_OBJECTS) $(pipe_test_DEPENDENCIES)
|
274
271
|
@rm -f pipe_test$(EXEEXT)
|
275
|
-
$(
|
272
|
+
$(CXXLINK) $(pipe_test_LDFLAGS) $(pipe_test_OBJECTS) $(pipe_test_LDADD) $(LIBS)
|
276
273
|
|
277
274
|
mostlyclean-compile:
|
278
275
|
-rm -f *.$(OBJEXT)
|
@@ -282,67 +279,82 @@ distclean-compile:
|
|
282
279
|
|
283
280
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key_test-key_test.Po@am__quote@
|
284
281
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/next_test-next_test.Po@am__quote@
|
282
|
+
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opt_test-opt_test.Po@am__quote@
|
285
283
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe_test-pipe_test.Po@am__quote@
|
286
284
|
|
287
285
|
.cc.o:
|
288
|
-
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@
|
289
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
286
|
+
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
287
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
290
288
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
291
289
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
292
290
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
293
291
|
|
294
292
|
.cc.obj:
|
295
|
-
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'
|
296
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
293
|
+
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
294
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
297
295
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
298
296
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
299
297
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
300
298
|
|
301
299
|
.cc.lo:
|
302
|
-
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@
|
303
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
300
|
+
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
301
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
304
302
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
305
303
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
306
304
|
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
307
305
|
|
308
306
|
key_test-key_test.o: key_test.cc
|
309
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT key_test-key_test.o -MD -MP -MF $(DEPDIR)/key_test-key_test.Tpo -c -o key_test-key_test.o `test -f 'key_test.cc' || echo '$(srcdir)/'`key_test.cc
|
310
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/key_test-key_test.Tpo $(DEPDIR)/key_test-key_test.Po
|
307
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT key_test-key_test.o -MD -MP -MF "$(DEPDIR)/key_test-key_test.Tpo" -c -o key_test-key_test.o `test -f 'key_test.cc' || echo '$(srcdir)/'`key_test.cc; \
|
308
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/key_test-key_test.Tpo" "$(DEPDIR)/key_test-key_test.Po"; else rm -f "$(DEPDIR)/key_test-key_test.Tpo"; exit 1; fi
|
311
309
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='key_test.cc' object='key_test-key_test.o' libtool=no @AMDEPBACKSLASH@
|
312
310
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
313
311
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o key_test-key_test.o `test -f 'key_test.cc' || echo '$(srcdir)/'`key_test.cc
|
314
312
|
|
315
313
|
key_test-key_test.obj: key_test.cc
|
316
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT key_test-key_test.obj -MD -MP -MF $(DEPDIR)/key_test-key_test.Tpo -c -o key_test-key_test.obj `if test -f 'key_test.cc'; then $(CYGPATH_W) 'key_test.cc'; else $(CYGPATH_W) '$(srcdir)/key_test.cc'; fi
|
317
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/key_test-key_test.Tpo $(DEPDIR)/key_test-key_test.Po
|
314
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT key_test-key_test.obj -MD -MP -MF "$(DEPDIR)/key_test-key_test.Tpo" -c -o key_test-key_test.obj `if test -f 'key_test.cc'; then $(CYGPATH_W) 'key_test.cc'; else $(CYGPATH_W) '$(srcdir)/key_test.cc'; fi`; \
|
315
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/key_test-key_test.Tpo" "$(DEPDIR)/key_test-key_test.Po"; else rm -f "$(DEPDIR)/key_test-key_test.Tpo"; exit 1; fi
|
318
316
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='key_test.cc' object='key_test-key_test.obj' libtool=no @AMDEPBACKSLASH@
|
319
317
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
320
318
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(key_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o key_test-key_test.obj `if test -f 'key_test.cc'; then $(CYGPATH_W) 'key_test.cc'; else $(CYGPATH_W) '$(srcdir)/key_test.cc'; fi`
|
321
319
|
|
322
320
|
next_test-next_test.o: next_test.cc
|
323
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT next_test-next_test.o -MD -MP -MF $(DEPDIR)/next_test-next_test.Tpo -c -o next_test-next_test.o `test -f 'next_test.cc' || echo '$(srcdir)/'`next_test.cc
|
324
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/next_test-next_test.Tpo $(DEPDIR)/next_test-next_test.Po
|
321
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT next_test-next_test.o -MD -MP -MF "$(DEPDIR)/next_test-next_test.Tpo" -c -o next_test-next_test.o `test -f 'next_test.cc' || echo '$(srcdir)/'`next_test.cc; \
|
322
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/next_test-next_test.Tpo" "$(DEPDIR)/next_test-next_test.Po"; else rm -f "$(DEPDIR)/next_test-next_test.Tpo"; exit 1; fi
|
325
323
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='next_test.cc' object='next_test-next_test.o' libtool=no @AMDEPBACKSLASH@
|
326
324
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
327
325
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o next_test-next_test.o `test -f 'next_test.cc' || echo '$(srcdir)/'`next_test.cc
|
328
326
|
|
329
327
|
next_test-next_test.obj: next_test.cc
|
330
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT next_test-next_test.obj -MD -MP -MF $(DEPDIR)/next_test-next_test.Tpo -c -o next_test-next_test.obj `if test -f 'next_test.cc'; then $(CYGPATH_W) 'next_test.cc'; else $(CYGPATH_W) '$(srcdir)/next_test.cc'; fi
|
331
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/next_test-next_test.Tpo $(DEPDIR)/next_test-next_test.Po
|
328
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT next_test-next_test.obj -MD -MP -MF "$(DEPDIR)/next_test-next_test.Tpo" -c -o next_test-next_test.obj `if test -f 'next_test.cc'; then $(CYGPATH_W) 'next_test.cc'; else $(CYGPATH_W) '$(srcdir)/next_test.cc'; fi`; \
|
329
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/next_test-next_test.Tpo" "$(DEPDIR)/next_test-next_test.Po"; else rm -f "$(DEPDIR)/next_test-next_test.Tpo"; exit 1; fi
|
332
330
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='next_test.cc' object='next_test-next_test.obj' libtool=no @AMDEPBACKSLASH@
|
333
331
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
334
332
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(next_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o next_test-next_test.obj `if test -f 'next_test.cc'; then $(CYGPATH_W) 'next_test.cc'; else $(CYGPATH_W) '$(srcdir)/next_test.cc'; fi`
|
335
333
|
|
334
|
+
opt_test-opt_test.o: opt_test.cc
|
335
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(opt_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT opt_test-opt_test.o -MD -MP -MF "$(DEPDIR)/opt_test-opt_test.Tpo" -c -o opt_test-opt_test.o `test -f 'opt_test.cc' || echo '$(srcdir)/'`opt_test.cc; \
|
336
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/opt_test-opt_test.Tpo" "$(DEPDIR)/opt_test-opt_test.Po"; else rm -f "$(DEPDIR)/opt_test-opt_test.Tpo"; exit 1; fi
|
337
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='opt_test.cc' object='opt_test-opt_test.o' libtool=no @AMDEPBACKSLASH@
|
338
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
339
|
+
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(opt_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o opt_test-opt_test.o `test -f 'opt_test.cc' || echo '$(srcdir)/'`opt_test.cc
|
340
|
+
|
341
|
+
opt_test-opt_test.obj: opt_test.cc
|
342
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(opt_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT opt_test-opt_test.obj -MD -MP -MF "$(DEPDIR)/opt_test-opt_test.Tpo" -c -o opt_test-opt_test.obj `if test -f 'opt_test.cc'; then $(CYGPATH_W) 'opt_test.cc'; else $(CYGPATH_W) '$(srcdir)/opt_test.cc'; fi`; \
|
343
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/opt_test-opt_test.Tpo" "$(DEPDIR)/opt_test-opt_test.Po"; else rm -f "$(DEPDIR)/opt_test-opt_test.Tpo"; exit 1; fi
|
344
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='opt_test.cc' object='opt_test-opt_test.obj' libtool=no @AMDEPBACKSLASH@
|
345
|
+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
346
|
+
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(opt_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o opt_test-opt_test.obj `if test -f 'opt_test.cc'; then $(CYGPATH_W) 'opt_test.cc'; else $(CYGPATH_W) '$(srcdir)/opt_test.cc'; fi`
|
347
|
+
|
336
348
|
pipe_test-pipe_test.o: pipe_test.cc
|
337
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pipe_test-pipe_test.o -MD -MP -MF $(DEPDIR)/pipe_test-pipe_test.Tpo -c -o pipe_test-pipe_test.o `test -f 'pipe_test.cc' || echo '$(srcdir)/'`pipe_test.cc
|
338
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/pipe_test-pipe_test.Tpo $(DEPDIR)/pipe_test-pipe_test.Po
|
349
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pipe_test-pipe_test.o -MD -MP -MF "$(DEPDIR)/pipe_test-pipe_test.Tpo" -c -o pipe_test-pipe_test.o `test -f 'pipe_test.cc' || echo '$(srcdir)/'`pipe_test.cc; \
|
350
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pipe_test-pipe_test.Tpo" "$(DEPDIR)/pipe_test-pipe_test.Po"; else rm -f "$(DEPDIR)/pipe_test-pipe_test.Tpo"; exit 1; fi
|
339
351
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='pipe_test.cc' object='pipe_test-pipe_test.o' libtool=no @AMDEPBACKSLASH@
|
340
352
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
341
353
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pipe_test-pipe_test.o `test -f 'pipe_test.cc' || echo '$(srcdir)/'`pipe_test.cc
|
342
354
|
|
343
355
|
pipe_test-pipe_test.obj: pipe_test.cc
|
344
|
-
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pipe_test-pipe_test.obj -MD -MP -MF $(DEPDIR)/pipe_test-pipe_test.Tpo -c -o pipe_test-pipe_test.obj `if test -f 'pipe_test.cc'; then $(CYGPATH_W) 'pipe_test.cc'; else $(CYGPATH_W) '$(srcdir)/pipe_test.cc'; fi
|
345
|
-
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/pipe_test-pipe_test.Tpo $(DEPDIR)/pipe_test-pipe_test.Po
|
356
|
+
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pipe_test-pipe_test.obj -MD -MP -MF "$(DEPDIR)/pipe_test-pipe_test.Tpo" -c -o pipe_test-pipe_test.obj `if test -f 'pipe_test.cc'; then $(CYGPATH_W) 'pipe_test.cc'; else $(CYGPATH_W) '$(srcdir)/pipe_test.cc'; fi`; \
|
357
|
+
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pipe_test-pipe_test.Tpo" "$(DEPDIR)/pipe_test-pipe_test.Po"; else rm -f "$(DEPDIR)/pipe_test-pipe_test.Tpo"; exit 1; fi
|
346
358
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='pipe_test.cc' object='pipe_test-pipe_test.obj' libtool=no @AMDEPBACKSLASH@
|
347
359
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
348
360
|
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pipe_test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pipe_test-pipe_test.obj `if test -f 'pipe_test.cc'; then $(CYGPATH_W) 'pipe_test.cc'; else $(CYGPATH_W) '$(srcdir)/pipe_test.cc'; fi`
|
@@ -353,6 +365,10 @@ mostlyclean-libtool:
|
|
353
365
|
clean-libtool:
|
354
366
|
-rm -rf .libs _libs
|
355
367
|
|
368
|
+
distclean-libtool:
|
369
|
+
-rm -f libtool
|
370
|
+
uninstall-info-am:
|
371
|
+
|
356
372
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
357
373
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
358
374
|
unique=`for i in $$list; do \
|
@@ -402,21 +418,22 @@ distclean-tags:
|
|
402
418
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
403
419
|
|
404
420
|
distdir: $(DISTFILES)
|
405
|
-
@srcdirstrip=`echo "$(srcdir)" | sed 's
|
406
|
-
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's
|
407
|
-
list='$(DISTFILES)'; \
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
413
|
-
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
414
|
-
sort -u` ;; \
|
415
|
-
esac; \
|
416
|
-
for file in $$dist_files; do \
|
421
|
+
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
422
|
+
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
423
|
+
list='$(DISTFILES)'; for file in $$list; do \
|
424
|
+
case $$file in \
|
425
|
+
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
426
|
+
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
427
|
+
esac; \
|
417
428
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
429
|
+
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
430
|
+
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
431
|
+
dir="/$$dir"; \
|
432
|
+
$(mkdir_p) "$(distdir)$$dir"; \
|
433
|
+
else \
|
434
|
+
dir=''; \
|
435
|
+
fi; \
|
418
436
|
if test -d $$d/$$file; then \
|
419
|
-
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
420
437
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
421
438
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
422
439
|
fi; \
|
@@ -432,7 +449,7 @@ check: check-am
|
|
432
449
|
all-am: Makefile $(PROGRAMS)
|
433
450
|
installdirs:
|
434
451
|
for dir in "$(DESTDIR)$(bindir)"; do \
|
435
|
-
test -z "$$dir" || $(
|
452
|
+
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
436
453
|
done
|
437
454
|
install: install-am
|
438
455
|
install-exec: install-exec-am
|
@@ -466,7 +483,7 @@ distclean: distclean-am
|
|
466
483
|
-rm -rf ./$(DEPDIR)
|
467
484
|
-rm -f Makefile
|
468
485
|
distclean-am: clean-am distclean-compile distclean-generic \
|
469
|
-
distclean-tags
|
486
|
+
distclean-libtool distclean-tags
|
470
487
|
|
471
488
|
dvi: dvi-am
|
472
489
|
|
@@ -480,20 +497,12 @@ info-am:
|
|
480
497
|
|
481
498
|
install-data-am:
|
482
499
|
|
483
|
-
install-dvi: install-dvi-am
|
484
|
-
|
485
500
|
install-exec-am: install-binPROGRAMS
|
486
501
|
|
487
|
-
install-html: install-html-am
|
488
|
-
|
489
502
|
install-info: install-info-am
|
490
503
|
|
491
504
|
install-man:
|
492
505
|
|
493
|
-
install-pdf: install-pdf-am
|
494
|
-
|
495
|
-
install-ps: install-ps-am
|
496
|
-
|
497
506
|
installcheck-am:
|
498
507
|
|
499
508
|
maintainer-clean: maintainer-clean-am
|
@@ -514,23 +523,19 @@ ps: ps-am
|
|
514
523
|
|
515
524
|
ps-am:
|
516
525
|
|
517
|
-
uninstall-am: uninstall-binPROGRAMS
|
518
|
-
|
519
|
-
.MAKE: install-am install-strip
|
526
|
+
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
520
527
|
|
521
528
|
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
|
522
529
|
clean-generic clean-libtool ctags distclean distclean-compile \
|
523
530
|
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
524
531
|
dvi-am html html-am info info-am install install-am \
|
525
|
-
install-binPROGRAMS install-data install-data-am install-
|
526
|
-
install-
|
527
|
-
install-html-am install-info install-info-am install-man \
|
528
|
-
install-pdf install-pdf-am install-ps install-ps-am \
|
532
|
+
install-binPROGRAMS install-data install-data-am install-exec \
|
533
|
+
install-exec-am install-info install-info-am install-man \
|
529
534
|
install-strip installcheck installcheck-am installdirs \
|
530
535
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
531
536
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
532
537
|
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
533
|
-
uninstall-binPROGRAMS
|
538
|
+
uninstall-binPROGRAMS uninstall-info-am
|
534
539
|
|
535
540
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
536
541
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
@@ -13,7 +13,8 @@ static void SIGINT_handler(int sig)
|
|
13
13
|
|
14
14
|
static void run_tests( Dispatch &dispatcher, int count )
|
15
15
|
{
|
16
|
-
|
16
|
+
struct timeval start_time;
|
17
|
+
Timer::current_time(&start_time);
|
17
18
|
int response_count = 0;
|
18
19
|
|
19
20
|
dispatcher.request( new HttpRequest( dispatcher, "http://127.0.0.1:4044/bytes/10200/" ) );
|
@@ -35,7 +36,7 @@ static void run_tests( Dispatch &dispatcher, int count )
|
|
35
36
|
if( longest_request < rep->response_time ){
|
36
37
|
longest_request = rep->response_time;
|
37
38
|
}
|
38
|
-
printf( "recieved response(%d): from '%s', Content-Length: %d bytes, within: %.
|
39
|
+
printf( "recieved response(%d): from '%s', Content-Length: %d bytes, within: %.5lf seconds \n", rep->id, rep->name.c_str(), rep->body.length(), rep->response_time );
|
39
40
|
++response_count;
|
40
41
|
delete rep;
|
41
42
|
--expected_response_count;
|
@@ -44,8 +45,8 @@ static void run_tests( Dispatch &dispatcher, int count )
|
|
44
45
|
if( expected_response_count != 0 ){
|
45
46
|
printf( "Expected: %d responses but recieved: %d\n", expected_response_count, response_count );
|
46
47
|
}
|
47
|
-
printf( "%d responses completed, within %.
|
48
|
-
printf( "longest request: %.
|
48
|
+
printf( "%d responses completed, within %.5lf seconds\n", response_count, Timer::elapsed_time( &start_time ) );
|
49
|
+
printf( "longest request: %.5lf\n", longest_request );
|
49
50
|
}
|
50
51
|
|
51
52
|
int main(int argc, char **argv)
|
@@ -64,14 +65,15 @@ int main(int argc, char **argv)
|
|
64
65
|
|
65
66
|
printf( "dispatcher thread running...\n" );
|
66
67
|
|
67
|
-
|
68
|
+
struct timeval start_time;
|
69
|
+
Timer::current_time(&start_time);
|
68
70
|
|
69
71
|
run_tests( dispatcher, 10 );
|
70
72
|
run_tests( dispatcher, 10 );
|
71
73
|
run_tests( dispatcher, 10 );
|
72
74
|
run_tests( dispatcher, 10 );
|
73
75
|
|
74
|
-
printf( "total time: %.
|
76
|
+
printf( "total time: %.5lf seconds\n", Timer::elapsed_time( &start_time ) );
|
75
77
|
|
76
78
|
dispatcher.stop();
|
77
79
|
|
@@ -19,12 +19,12 @@
|
|
19
19
|
* require 'rev_dispatch'
|
20
20
|
*
|
21
21
|
* # create a new dispatch loop
|
22
|
-
* d =
|
22
|
+
* d = Evdispatch::Loop.new
|
23
23
|
*
|
24
24
|
* # start the event loop thread
|
25
25
|
*
|
26
26
|
* # send a dispatch http request and store a handle to the request
|
27
|
-
* google_id = d.
|
27
|
+
* google_id = d.request_http("http://www.google.com/")
|
28
28
|
*
|
29
29
|
* # do some processing and later on check for the response
|
30
30
|
* while d.wait_for_response( google_id, 1, 0 )
|
@@ -33,7 +33,7 @@
|
|
33
33
|
* end
|
34
34
|
* res = d.response_for( google_id ) unless res
|
35
35
|
*
|
36
|
-
* puts res
|
36
|
+
* puts res[:body]
|
37
37
|
*
|
38
38
|
* # sometime later you can stop the event loop
|
39
39
|
* d.stop
|
@@ -44,6 +44,9 @@
|
|
44
44
|
* background and happily wait for new requests using a minimal amount of cpu while waiting.
|
45
45
|
* Everything in the background thread is written in C++ and has absolutely no hooks back into ruby.
|
46
46
|
* The results of the work being processed in the background can be retrieved by ruby but that is it.
|
47
|
+
*
|
48
|
+
* the request method can be used passing it options will set specific libcurl options
|
49
|
+
*
|
47
50
|
*/
|
48
51
|
static VALUE rb_Evdispatch;
|
49
52
|
static VALUE rb_Loop;
|
@@ -70,6 +73,46 @@ VALUE Loop_request_http( VALUE self, VALUE url )
|
|
70
73
|
return rb_int_new(id);
|
71
74
|
}
|
72
75
|
|
76
|
+
#define SET_LONG_VAL(name)\
|
77
|
+
{\
|
78
|
+
VALUE obj = rb_hash_aref( options, ID2SYM(rb_intern(name)) ); \
|
79
|
+
if( !NIL_P(obj) ) {\
|
80
|
+
snprintf( VALUE_BUFFER, VALUE_BUFFER_SIZE, "%d", FIX2LONG(obj) );\
|
81
|
+
req->set_opt(name, VALUE_BUFFER);\
|
82
|
+
}\
|
83
|
+
}
|
84
|
+
|
85
|
+
#define SET_STR_VAL(name)\
|
86
|
+
{\
|
87
|
+
VALUE obj = rb_hash_aref( options, ID2SYM(rb_intern(name)) ); \
|
88
|
+
if( !NIL_P(obj) ) {\
|
89
|
+
req->set_opt(name, RSTRING_PTR(obj));\
|
90
|
+
}\
|
91
|
+
}
|
92
|
+
|
93
|
+
static
|
94
|
+
VALUE Loop_request( VALUE self, VALUE url, VALUE options )
|
95
|
+
{
|
96
|
+
EVD::Dispatch *d;
|
97
|
+
const int VALUE_BUFFER_SIZE = 1024;
|
98
|
+
char VALUE_BUFFER[VALUE_BUFFER_SIZE];
|
99
|
+
Data_Get_Struct( self, EVD::Dispatch, d );
|
100
|
+
|
101
|
+
|
102
|
+
EVD::HttpRequest *req = new EVD::HttpRequest( *d, RSTRING_PTR(url) );
|
103
|
+
|
104
|
+
// check for some specific options
|
105
|
+
SET_LONG_VAL("port");
|
106
|
+
SET_STR_VAL("autoreferer");
|
107
|
+
SET_LONG_VAL("followlocation");
|
108
|
+
SET_LONG_VAL("maxredirs");
|
109
|
+
SET_STR_VAL("referer");
|
110
|
+
SET_STR_VAL("useragent");
|
111
|
+
SET_STR_VAL("cookie");
|
112
|
+
|
113
|
+
return rb_int_new( d->request(req) );
|
114
|
+
}
|
115
|
+
|
73
116
|
static
|
74
117
|
VALUE Loop_wait_for_response( VALUE self, VALUE id, VALUE timeout_seconds, VALUE timeout_mseconds )
|
75
118
|
{
|
@@ -90,10 +133,10 @@ VALUE Loop_response_for( VALUE self, VALUE id )
|
|
90
133
|
EVD::Dispatch *d;
|
91
134
|
Data_Get_Struct( self, EVD::Dispatch, d );
|
92
135
|
|
93
|
-
EVD::
|
136
|
+
EVD::HttpResponse *res = NULL;
|
94
137
|
EVD::request_t rid = FIX2LONG(id);
|
95
138
|
|
96
|
-
res = d->response_for( rid );
|
139
|
+
res = (EVD::HttpResponse*)d->response_for( rid );
|
97
140
|
if( res ){
|
98
141
|
|
99
142
|
VALUE result = rb_hash_new();
|
@@ -102,6 +145,7 @@ VALUE Loop_response_for( VALUE self, VALUE id )
|
|
102
145
|
rb_hash_aset( result, ID2SYM(rb_intern("body")), rb_str_new( res->body.c_str(), res->body.length() ) );
|
103
146
|
rb_hash_aset( result, ID2SYM(rb_intern("id")), rb_int_new( res->id ) );
|
104
147
|
rb_hash_aset( result, ID2SYM(rb_intern("response_time")), rb_float_new( res->response_time ) );
|
148
|
+
rb_hash_aset( result, ID2SYM(rb_intern("header")), rb_str_new( res->m_header.c_str(), res->m_header.length() ) );
|
105
149
|
|
106
150
|
delete res;
|
107
151
|
|
@@ -142,10 +186,12 @@ extern "C" void Init_revdispatch()
|
|
142
186
|
rb_Evdispatch = rb_define_module( "Evdispatch" );
|
143
187
|
rb_Loop = rb_define_class_under( rb_Evdispatch, "Loop", rb_cObject );
|
144
188
|
|
189
|
+
// setup the Loop object
|
145
190
|
rb_define_alloc_func( rb_Loop, Loop_alloc );
|
146
191
|
|
147
192
|
rb_define_method( rb_Loop, "start", (VALUE (*)(...))Loop_start, 0 );
|
148
193
|
rb_define_method( rb_Loop, "request_http", (VALUE (*)(...))Loop_request_http, 1 );
|
194
|
+
rb_define_method( rb_Loop, "request", (VALUE (*)(...))Loop_request, 2 );
|
149
195
|
rb_define_method( rb_Loop, "response_for", (VALUE (*)(...))Loop_response_for, 1 );
|
150
196
|
rb_define_method( rb_Loop, "wait_for_response", (VALUE (*)(...))Loop_wait_for_response, 3 );
|
151
197
|
rb_define_method( rb_Loop, "stop", (VALUE (*)(...))Loop_stop, 0 );
|
data/ext/revdispatch/server.rb
CHANGED
@@ -9,6 +9,7 @@ TEST_PORT = 4044
|
|
9
9
|
class HelperApp
|
10
10
|
def call(env)
|
11
11
|
commands = env['PATH_INFO'].split('/')
|
12
|
+
extras = {}
|
12
13
|
|
13
14
|
if commands.include?('delay')
|
14
15
|
n = commands.last.to_i
|
@@ -22,7 +23,17 @@ class HelperApp
|
|
22
23
|
raise "bytes called with n <= 0" if n <= 0
|
23
24
|
body = "C"*n
|
24
25
|
status = 200
|
25
|
-
|
26
|
+
elsif commands.include?('redir')
|
27
|
+
n = commands.last.to_i
|
28
|
+
if n <= 0
|
29
|
+
extras = {'Location' => '/bytes/10'}
|
30
|
+
body = "redirect to bytes"
|
31
|
+
else
|
32
|
+
extras = {'Location' => "/redir/#{n-1}"}
|
33
|
+
body = "redirect to redir #{n-1}"
|
34
|
+
end
|
35
|
+
puts body
|
36
|
+
status = 302
|
26
37
|
elsif commands.include?('test_post_length')
|
27
38
|
input_body = env['rack.input'].read
|
28
39
|
|
@@ -41,7 +52,7 @@ class HelperApp
|
|
41
52
|
body = "Undefined url"
|
42
53
|
end
|
43
54
|
|
44
|
-
[status, {'Content-Type' => 'text/json'}, body]
|
55
|
+
[status, {'Content-Type' => 'text/json'}.merge(extras), body]
|
45
56
|
end
|
46
57
|
end
|
47
58
|
|
data/ext/revdispatch/test.rb
CHANGED