raindrops RubyGem user+dev discussion/patches/pulls/bugs/help
 help / Atom feed
* [PATCH 2/3] watcher: set Content-Type via assignment
  2013-04-11 23:28 [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
@ 2013-04-11 23:28 ` Eric Wong
  2013-04-11 23:28 ` [PATCH 3/3] Linux::TCP_Info: implement #get! instance method Eric Wong
  2013-04-11 23:30 ` [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
  2 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2013-04-11 23:28 UTC (permalink / raw)
  To: raindrops

Relying on String#replace to set Content-Type stopped working
with rack commit 3623d04526b953a63bfb3e72de2d6920a042563f
This fixes compatibility with the Rack 1.5.x series.
---
 lib/raindrops/watcher.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/raindrops/watcher.rb b/lib/raindrops/watcher.rb
index b7199a1..fb2df5b 100644
--- a/lib/raindrops/watcher.rb
+++ b/lib/raindrops/watcher.rb
@@ -323,7 +323,7 @@ def reset!(env, addr)
     res = Rack::Response.new
     url = req.referer || "#{req.host_with_port}/"
     res.redirect(url)
-    res.content_type.replace "text/plain"
+    res["Content-Type"] = "text/plain"
     res.write "Redirecting to #{url}"
     res.finish
   end
-- 
1.8.2.279.g631bc94



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 3/3] Linux::TCP_Info: implement #get! instance method
  2013-04-11 23:28 [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
  2013-04-11 23:28 ` [PATCH 2/3] watcher: set Content-Type via assignment Eric Wong
@ 2013-04-11 23:28 ` Eric Wong
  2013-04-11 23:30 ` [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
  2 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2013-04-11 23:28 UTC (permalink / raw)
  To: raindrops

This allows reusing existing Linux::TCP_Info objects to avoid
generating garbage.
---
 ext/raindrops/linux_tcp_info.c | 1 +
 test/test_linux_tcp_info.rb    | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/ext/raindrops/linux_tcp_info.c b/ext/raindrops/linux_tcp_info.c
index ce1c2d3..dcdb153 100644
--- a/ext/raindrops/linux_tcp_info.c
+++ b/ext/raindrops/linux_tcp_info.c
@@ -131,6 +131,7 @@ void Init_raindrops_linux_tcp_info(void)
 	cTCP_Info = rb_define_class_under(cRaindrops, "TCP_Info", rb_cObject);
 	rb_define_alloc_func(cTCP_Info, alloc);
 	rb_define_private_method(cTCP_Info, "initialize", init, 1);
+	rb_define_method(cTCP_Info, "get!", init, 1);
 
 #define TCPI_DEFINE_METHOD(x) \
 	rb_define_method(cTCP_Info, #x, tcp_info_##x, 0)
diff --git a/test/test_linux_tcp_info.rb b/test/test_linux_tcp_info.rb
index 3b4a245..c947211 100644
--- a/test/test_linux_tcp_info.rb
+++ b/test/test_linux_tcp_info.rb
@@ -12,6 +12,7 @@ class TestLinuxTCP_Info < Test::Unit::TestCase
   # Linux kernel commit 5ee3afba88f5a79d0bff07ddd87af45919259f91
   TCP_INFO_useful_listenq = `uname -r`.strip >= '2.6.24'
 
+
   def test_tcp_server
     s = TCPServer.new(TEST_ADDR, 0)
     rv = Raindrops::TCP_Info.new s
@@ -23,6 +24,11 @@ def test_tcp_server
     a = s.accept
     tmp = Raindrops::TCP_Info.new s
     assert_equal 0, tmp.unacked
+    before = tmp.object_id
+
+    tmp.get!(s)
+    assert_equal before, tmp.object_id
+
     ensure
       c.close if c
       a.close if a
@@ -35,6 +41,7 @@ def test_accessors
     tcp_info_methods = tmp.methods - Object.new.methods
     assert tcp_info_methods.size >= 32
     tcp_info_methods.each do |m|
+      next if m.to_sym == :get!
       val = tmp.__send__ m
       assert_kind_of Integer, val
       assert val >= 0
-- 
1.8.2.279.g631bc94



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/3] raindrops: favor configured processor count over online count
  2013-04-11 23:28 [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
  2013-04-11 23:28 ` [PATCH 2/3] watcher: set Content-Type via assignment Eric Wong
  2013-04-11 23:28 ` [PATCH 3/3] Linux::TCP_Info: implement #get! instance method Eric Wong
@ 2013-04-11 23:30 ` Eric Wong
  2 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2013-04-11 23:30 UTC (permalink / raw)
  To: raindrops

These are all unrelated changes, I'll push this latest series to
"master" unless there are any objections in a few days.

It looks like I forgot to release a new version for a while, so
a new one will probably come very soon (poke me if I forget again :x).


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-11 23:28 [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong
2013-04-11 23:28 ` [PATCH 2/3] watcher: set Content-Type via assignment Eric Wong
2013-04-11 23:28 ` [PATCH 3/3] Linux::TCP_Info: implement #get! instance method Eric Wong
2013-04-11 23:30 ` [PATCH 1/3] raindrops: favor configured processor count over online count Eric Wong

raindrops RubyGem user+dev discussion/patches/pulls/bugs/help

Archives are clonable:
	git clone --mirror https://bogomips.org/raindrops-public
	git clone --mirror http://ou63pmih66umazou.onion/raindrops-public

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.raindrops
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.raindrops

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox