rev 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. data/README +45 -9
  2. data/doc/rdoc/classes/Rev.html +368 -0
  3. data/doc/rdoc/classes/Rev.src/M000001.html +28 -0
  4. data/doc/rdoc/classes/Rev.src/M000002.html +35 -0
  5. data/doc/rdoc/classes/Rev.src/M000003.html +24 -0
  6. data/doc/rdoc/classes/Rev.src/M000004.html +28 -0
  7. data/doc/rdoc/classes/Rev.src/M000005.html +27 -0
  8. data/doc/rdoc/classes/Rev.src/M000006.html +33 -0
  9. data/doc/rdoc/classes/Rev.src/M000007.html +43 -0
  10. data/doc/rdoc/classes/Rev.src/M000008.html +16 -0
  11. data/doc/rdoc/classes/Rev/Buffer.html +354 -0
  12. data/doc/rdoc/classes/Rev/Buffer.src/M000019.html +17 -0
  13. data/doc/rdoc/classes/Rev/Buffer.src/M000020.html +29 -0
  14. data/doc/rdoc/classes/Rev/Buffer.src/M000021.html +27 -0
  15. data/doc/rdoc/classes/Rev/Buffer.src/M000022.html +27 -0
  16. data/doc/rdoc/classes/Rev/Buffer.src/M000023.html +31 -0
  17. data/doc/rdoc/classes/Rev/Buffer.src/M000024.html +31 -0
  18. data/doc/rdoc/classes/Rev/Buffer.src/M000025.html +30 -0
  19. data/doc/rdoc/classes/Rev/Buffer.src/M000026.html +50 -0
  20. data/doc/rdoc/classes/Rev/Buffer.src/M000027.html +22 -0
  21. data/doc/rdoc/classes/Rev/Buffer.src/M000028.html +24 -0
  22. data/doc/rdoc/classes/Rev/Buffer.src/M000029.html +24 -0
  23. data/doc/rdoc/classes/Rev/BufferedIO.html +397 -0
  24. data/doc/rdoc/classes/Rev/BufferedIO.src/M000095.html +23 -0
  25. data/doc/rdoc/classes/Rev/BufferedIO.src/M000096.html +16 -0
  26. data/doc/rdoc/classes/Rev/BufferedIO.src/M000097.html +16 -0
  27. data/doc/rdoc/classes/Rev/BufferedIO.src/M000098.html +16 -0
  28. data/doc/rdoc/classes/Rev/BufferedIO.src/M000099.html +18 -0
  29. data/doc/rdoc/classes/Rev/BufferedIO.src/M000100.html +18 -0
  30. data/doc/rdoc/classes/Rev/BufferedIO.src/M000101.html +23 -0
  31. data/doc/rdoc/classes/Rev/BufferedIO.src/M000102.html +18 -0
  32. data/doc/rdoc/classes/Rev/BufferedIO.src/M000103.html +20 -0
  33. data/doc/rdoc/classes/Rev/BufferedIO.src/M000104.html +24 -0
  34. data/doc/rdoc/classes/Rev/BufferedIO.src/M000105.html +23 -0
  35. data/doc/rdoc/classes/Rev/BufferedIO.src/M000106.html +22 -0
  36. data/doc/rdoc/classes/Rev/BufferedIO.src/M000107.html +29 -0
  37. data/doc/rdoc/classes/Rev/BufferedIO/Writer.html +154 -0
  38. data/doc/rdoc/classes/Rev/BufferedIO/Writer.src/M000108.html +19 -0
  39. data/doc/rdoc/classes/Rev/BufferedIO/Writer.src/M000109.html +18 -0
  40. data/doc/rdoc/classes/Rev/DNSResolver.html +401 -0
  41. data/doc/rdoc/classes/Rev/DNSResolver.src/M000124.html +25 -0
  42. data/doc/rdoc/classes/Rev/DNSResolver.src/M000125.html +29 -0
  43. data/doc/rdoc/classes/Rev/DNSResolver.src/M000126.html +20 -0
  44. data/doc/rdoc/classes/Rev/DNSResolver.src/M000127.html +19 -0
  45. data/doc/rdoc/classes/Rev/DNSResolver.src/M000128.html +16 -0
  46. data/doc/rdoc/classes/Rev/DNSResolver.src/M000129.html +16 -0
  47. data/doc/rdoc/classes/Rev/DNSResolver.src/M000131.html +19 -0
  48. data/doc/rdoc/classes/Rev/DNSResolver.src/M000132.html +21 -0
  49. data/doc/rdoc/classes/Rev/DNSResolver.src/M000133.html +27 -0
  50. data/doc/rdoc/classes/Rev/DNSResolver.src/M000134.html +28 -0
  51. data/doc/rdoc/classes/Rev/DNSResolver.src/M000135.html +55 -0
  52. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.html +154 -0
  53. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.src/M000136.html +20 -0
  54. data/doc/rdoc/classes/Rev/DNSResolver/Timeout.src/M000137.html +22 -0
  55. data/doc/rdoc/classes/Rev/HttpChunkHeader.html +156 -0
  56. data/doc/rdoc/classes/Rev/HttpChunkHeader.src/M000031.html +19 -0
  57. data/doc/rdoc/classes/Rev/HttpClient.html +460 -0
  58. data/doc/rdoc/classes/Rev/HttpClient.src/M000042.html +18 -0
  59. data/doc/rdoc/classes/Rev/HttpClient.src/M000043.html +27 -0
  60. data/doc/rdoc/classes/Rev/HttpClient.src/M000044.html +24 -0
  61. data/doc/rdoc/classes/Rev/HttpClient.src/M000045.html +19 -0
  62. data/doc/rdoc/classes/Rev/HttpClient.src/M000046.html +17 -0
  63. data/doc/rdoc/classes/Rev/HttpClient.src/M000047.html +19 -0
  64. data/doc/rdoc/classes/Rev/HttpClient.src/M000048.html +18 -0
  65. data/doc/rdoc/classes/Rev/HttpClient.src/M000049.html +18 -0
  66. data/doc/rdoc/classes/Rev/HttpClient.src/M000050.html +19 -0
  67. data/doc/rdoc/classes/Rev/HttpClient.src/M000051.html +19 -0
  68. data/doc/rdoc/classes/Rev/HttpClient.src/M000052.html +19 -0
  69. data/doc/rdoc/classes/Rev/HttpClient.src/M000053.html +41 -0
  70. data/doc/rdoc/classes/Rev/HttpClient.src/M000054.html +18 -0
  71. data/doc/rdoc/classes/Rev/HttpClient.src/M000055.html +34 -0
  72. data/doc/rdoc/classes/Rev/HttpEncoding.html +310 -0
  73. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000009.html +20 -0
  74. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000010.html +20 -0
  75. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000011.html +18 -0
  76. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000012.html +18 -0
  77. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000013.html +18 -0
  78. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000014.html +19 -0
  79. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000015.html +18 -0
  80. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000016.html +18 -0
  81. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000017.html +22 -0
  82. data/doc/rdoc/classes/Rev/HttpEncoding.src/M000018.html +18 -0
  83. data/doc/rdoc/classes/Rev/HttpResponseHeader.html +219 -0
  84. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000032.html +18 -0
  85. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000033.html +18 -0
  86. data/doc/rdoc/classes/Rev/HttpResponseHeader.src/M000034.html +18 -0
  87. data/doc/rdoc/classes/Rev/IOWatcher.html +285 -0
  88. data/doc/rdoc/classes/Rev/IOWatcher.src/M000079.html +17 -0
  89. data/doc/rdoc/classes/Rev/IOWatcher.src/M000080.html +27 -0
  90. data/doc/rdoc/classes/Rev/IOWatcher.src/M000081.html +26 -0
  91. data/doc/rdoc/classes/Rev/IOWatcher.src/M000082.html +27 -0
  92. data/doc/rdoc/classes/Rev/IOWatcher.src/M000083.html +27 -0
  93. data/doc/rdoc/classes/Rev/IOWatcher.src/M000084.html +24 -0
  94. data/doc/rdoc/classes/Rev/IOWatcher.src/M000085.html +25 -0
  95. data/doc/rdoc/classes/Rev/Listener.html +207 -0
  96. data/doc/rdoc/classes/Rev/Listener.src/M000065.html +19 -0
  97. data/doc/rdoc/classes/Rev/Listener.src/M000066.html +19 -0
  98. data/doc/rdoc/classes/Rev/Listener.src/M000067.html +16 -0
  99. data/doc/rdoc/classes/Rev/Listener.src/M000068.html +18 -0
  100. data/doc/rdoc/classes/Rev/Loop.html +395 -0
  101. data/doc/rdoc/classes/Rev/Loop.src/M000070.html +25 -0
  102. data/doc/rdoc/classes/Rev/Loop.src/M000071.html +45 -0
  103. data/doc/rdoc/classes/Rev/Loop.src/M000072.html +18 -0
  104. data/doc/rdoc/classes/Rev/Loop.src/M000073.html +23 -0
  105. data/doc/rdoc/classes/Rev/Loop.src/M000074.html +19 -0
  106. data/doc/rdoc/classes/Rev/Loop.src/M000075.html +17 -0
  107. data/doc/rdoc/classes/Rev/Loop.src/M000076.html +27 -0
  108. data/doc/rdoc/classes/Rev/Loop.src/M000077.html +32 -0
  109. data/doc/rdoc/classes/Rev/Loop.src/M000078.html +32 -0
  110. data/doc/rdoc/classes/Rev/Server.html +164 -0
  111. data/doc/rdoc/classes/Rev/Server.src/M000121.html +32 -0
  112. data/doc/rdoc/classes/Rev/Server.src/M000122.html +20 -0
  113. data/doc/rdoc/classes/Rev/Socket.html +213 -0
  114. data/doc/rdoc/classes/Rev/Socket.src/M000035.html +21 -0
  115. data/doc/rdoc/classes/Rev/Socket.src/M000036.html +25 -0
  116. data/doc/rdoc/classes/Rev/Socket.src/M000037.html +16 -0
  117. data/doc/rdoc/classes/Rev/Socket.src/M000038.html +16 -0
  118. data/doc/rdoc/classes/Rev/Socket/Connector.html +154 -0
  119. data/doc/rdoc/classes/Rev/Socket/Connector.src/M000040.html +19 -0
  120. data/doc/rdoc/classes/Rev/Socket/Connector.src/M000041.html +28 -0
  121. data/doc/rdoc/classes/Rev/TCPListener.html +161 -0
  122. data/doc/rdoc/classes/Rev/TCPListener.src/M000069.html +23 -0
  123. data/doc/rdoc/classes/Rev/TCPServer.html +147 -0
  124. data/doc/rdoc/classes/Rev/TCPServer.src/M000123.html +20 -0
  125. data/doc/rdoc/classes/Rev/TCPSocket.html +233 -0
  126. data/doc/rdoc/classes/Rev/TCPSocket.src/M000056.html +20 -0
  127. data/doc/rdoc/classes/Rev/TCPSocket.src/M000057.html +34 -0
  128. data/doc/rdoc/classes/Rev/TCPSocket.src/M000058.html +24 -0
  129. data/doc/rdoc/classes/Rev/TCPSocket.src/M000059.html +18 -0
  130. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.html +171 -0
  131. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000060.html +19 -0
  132. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000061.html +27 -0
  133. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectResolver.src/M000062.html +23 -0
  134. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.html +154 -0
  135. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.src/M000063.html +25 -0
  136. data/doc/rdoc/classes/Rev/TCPSocket/TCPConnectSocket.src/M000064.html +23 -0
  137. data/doc/rdoc/classes/Rev/TimerWatcher.html +288 -0
  138. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000086.html +17 -0
  139. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000087.html +27 -0
  140. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000088.html +26 -0
  141. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000089.html +27 -0
  142. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000090.html +27 -0
  143. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000091.html +42 -0
  144. data/doc/rdoc/classes/Rev/TimerWatcher.src/M000092.html +24 -0
  145. data/doc/rdoc/classes/Rev/UNIXListener.html +147 -0
  146. data/doc/rdoc/classes/Rev/UNIXListener.src/M000120.html +18 -0
  147. data/doc/rdoc/classes/Rev/UNIXServer.html +147 -0
  148. data/doc/rdoc/classes/Rev/UNIXServer.src/M000030.html +18 -0
  149. data/doc/rdoc/classes/Rev/UNIXSocket.html +175 -0
  150. data/doc/rdoc/classes/Rev/UNIXSocket.src/M000093.html +18 -0
  151. data/doc/rdoc/classes/Rev/UNIXSocket.src/M000094.html +21 -0
  152. data/doc/rdoc/classes/Rev/Watcher.html +349 -0
  153. data/doc/rdoc/classes/Rev/Watcher.src/M000110.html +20 -0
  154. data/doc/rdoc/classes/Rev/Watcher.src/M000111.html +20 -0
  155. data/doc/rdoc/classes/Rev/Watcher.src/M000112.html +17 -0
  156. data/doc/rdoc/classes/Rev/Watcher.src/M000113.html +48 -0
  157. data/doc/rdoc/classes/Rev/Watcher.src/M000114.html +62 -0
  158. data/doc/rdoc/classes/Rev/Watcher.src/M000115.html +34 -0
  159. data/doc/rdoc/classes/Rev/Watcher.src/M000116.html +34 -0
  160. data/doc/rdoc/classes/Rev/Watcher.src/M000117.html +27 -0
  161. data/doc/rdoc/classes/Rev/Watcher.src/M000118.html +24 -0
  162. data/doc/rdoc/classes/Rev/Watcher.src/M000119.html +27 -0
  163. data/doc/rdoc/created.rid +1 -0
  164. data/doc/rdoc/files/LICENSE.html +165 -0
  165. data/doc/rdoc/files/README.html +297 -0
  166. data/doc/rdoc/files/ext/rev/rev_buffer_c.html +101 -0
  167. data/doc/rdoc/files/ext/rev/rev_ext_c.html +101 -0
  168. data/doc/rdoc/files/ext/rev/rev_io_watcher_c.html +101 -0
  169. data/doc/rdoc/files/ext/rev/rev_loop_c.html +101 -0
  170. data/doc/rdoc/files/ext/rev/rev_timer_watcher_c.html +101 -0
  171. data/doc/rdoc/files/ext/rev/rev_watcher_c.html +101 -0
  172. data/doc/rdoc/files/lib/rev/buffered_io_rb.html +101 -0
  173. data/doc/rdoc/files/lib/rev/dns_resolver_rb.html +101 -0
  174. data/doc/rdoc/files/lib/rev/http_client_rb.html +101 -0
  175. data/doc/rdoc/files/lib/rev/io_watcher_rb.html +101 -0
  176. data/doc/rdoc/files/lib/rev/listener_rb.html +108 -0
  177. data/doc/rdoc/files/lib/rev/loop_rb.html +101 -0
  178. data/doc/rdoc/files/lib/rev/server_rb.html +101 -0
  179. data/doc/rdoc/files/lib/rev/socket_rb.html +109 -0
  180. data/doc/rdoc/files/lib/rev/timer_watcher_rb.html +101 -0
  181. data/doc/rdoc/files/lib/rev/watcher_rb.html +101 -0
  182. data/doc/rdoc/files/lib/rev_rb.html +101 -0
  183. data/doc/rdoc/fr_class_index.html +52 -0
  184. data/doc/rdoc/fr_file_index.html +45 -0
  185. data/doc/rdoc/fr_method_index.html +163 -0
  186. data/doc/rdoc/index.html +24 -0
  187. data/doc/rdoc/rdoc-style.css +208 -0
  188. data/ext/rev/extconf.rb +1 -1
  189. data/ext/rev/rev.h +0 -1
  190. data/ext/rev/rev_buffer.c +606 -0
  191. data/ext/rev/rev_ext.c +1 -0
  192. data/ext/rev/rev_io_watcher.c +53 -19
  193. data/ext/rev/rev_loop.c +12 -35
  194. data/ext/rev/rev_timer_watcher.c +45 -3
  195. data/ext/rev/rev_watcher.c +13 -1
  196. data/lib/http11_client.bundle +0 -0
  197. data/lib/rev.rb +1 -1
  198. data/lib/rev/buffered_io.rb +25 -22
  199. data/lib/rev/dns_resolver.rb +31 -14
  200. data/lib/rev/http_client.rb +88 -91
  201. data/lib/rev/listener.rb +22 -5
  202. data/lib/rev/loop.rb +13 -0
  203. data/lib/rev/server.rb +10 -3
  204. data/lib/rev/socket.rb +30 -9
  205. data/lib/rev/watcher.rb +4 -2
  206. data/lib/rev_ext.bundle +0 -0
  207. metadata +230 -2
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>connect (Rev::UNIXSocket)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rev/socket.rb, line 197</span>
14
+ 197: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-identifier">path</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
15
+ 198: <span class="ruby-identifier">new</span>(<span class="ruby-operator">::</span><span class="ruby-constant">UNIXSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
16
+ 199: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Rev::UNIXSocket)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rev/socket.rb, line 201</span>
14
+ 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">socket</span>)
15
+ 202: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;socket must be a UNIXSocket&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-operator">::</span><span class="ruby-constant">UNIXSocket</span>
16
+ 203:
17
+ 204: <span class="ruby-keyword kw">super</span>
18
+ 205: <span class="ruby-ivar">@address_family</span>, <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">peeraddr</span>
19
+ 206: <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,349 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Rev::Watcher</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Rev::Watcher</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/rev/watcher_rb.html">
59
+ lib/rev/watcher.rb
60
+ </a>
61
+ <br />
62
+ <a href="../../files/ext/rev/rev_buffer_c.html">
63
+ ext/rev/rev_buffer.c
64
+ </a>
65
+ <br />
66
+ </td>
67
+ </tr>
68
+
69
+ <tr class="top-aligned-row">
70
+ <td><strong>Parent:</strong></td>
71
+ <td>
72
+ Object
73
+ </td>
74
+ </tr>
75
+ </table>
76
+ </div>
77
+ <!-- banner header -->
78
+
79
+ <div id="bodyContent">
80
+
81
+
82
+
83
+ <div id="contextContent">
84
+
85
+ <div id="description">
86
+ <p>
87
+ Watchers are <a href="../Rev.html">Rev</a>&#8216;s event observers. They
88
+ contain a set of callback methods prefixed by on_* which fire whenever
89
+ events occur.
90
+ </p>
91
+ <p>
92
+ In order for a watcher to fire events it must be attached to a running
93
+ loop. Every watcher has an <a href="Watcher.html#M000113">attach</a> and <a
94
+ href="Watcher.html#M000114">detach</a> method to control which loop
95
+ it&#8216;s associated with.
96
+ </p>
97
+ <p>
98
+ Watchers also have an <a href="Watcher.html#M000115">enable</a> and <a
99
+ href="Watcher.html#M000116">disable</a> method. This allows a watcher to
100
+ temporarily ignore certain events while remaining attached to a given loop.
101
+ This is good for watchers which need to be toggled on and off.
102
+ </p>
103
+
104
+ </div>
105
+
106
+
107
+ </div>
108
+
109
+ <div id="method-list">
110
+ <h3 class="section-bar">Methods</h3>
111
+
112
+ <div class="name-list">
113
+ <a href="#M000113">attach</a>&nbsp;&nbsp;
114
+ <a href="#M000118">attached?</a>&nbsp;&nbsp;
115
+ <a href="#M000114">detach</a>&nbsp;&nbsp;
116
+ <a href="#M000116">disable</a>&nbsp;&nbsp;
117
+ <a href="#M000115">enable</a>&nbsp;&nbsp;
118
+ <a href="#M000119">enabled?</a>&nbsp;&nbsp;
119
+ <a href="#M000111">event_callback</a>&nbsp;&nbsp;
120
+ <a href="#M000117">evloop</a>&nbsp;&nbsp;
121
+ <a href="#M000112">new</a>&nbsp;&nbsp;
122
+ <a href="#M000110">watcher_delegate</a>&nbsp;&nbsp;
123
+ </div>
124
+ </div>
125
+
126
+ </div>
127
+
128
+
129
+ <!-- if includes -->
130
+
131
+ <div id="section">
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+ <!-- if method_list -->
141
+ <div id="methods">
142
+ <h3 class="section-bar">Public Class methods</h3>
143
+
144
+ <div id="method-M000111" class="method-detail">
145
+ <a name="M000111"></a>
146
+
147
+ <div class="method-heading">
148
+ <a href="Watcher.src/M000111.html" target="Code" class="method-signature"
149
+ onclick="popupCode('Watcher.src/M000111.html');return false;">
150
+ <span class="method-name">event_callback</span><span class="method-args">(*methods)</span>
151
+ </a>
152
+ </div>
153
+
154
+ <div class="method-description">
155
+ <p>
156
+ Define callbacks whose behavior can be changed on-the-fly per instance.
157
+ This is done by giving a block to the callback method, which is captured as
158
+ a proc and stored for later. If the method is called without a block, the
159
+ stored block is executed if present, otherwise it&#8216;s a noop.
160
+ </p>
161
+ </div>
162
+ </div>
163
+
164
+ <div id="method-M000112" class="method-detail">
165
+ <a name="M000112"></a>
166
+
167
+ <div class="method-heading">
168
+ <a href="Watcher.src/M000112.html" target="Code" class="method-signature"
169
+ onclick="popupCode('Watcher.src/M000112.html');return false;">
170
+ <span class="method-name">new</span><span class="method-args">()</span>
171
+ </a>
172
+ </div>
173
+
174
+ <div class="method-description">
175
+ <p>
176
+ Method implementations
177
+ </p>
178
+ </div>
179
+ </div>
180
+
181
+ <div id="method-M000110" class="method-detail">
182
+ <a name="M000110"></a>
183
+
184
+ <div class="method-heading">
185
+ <a href="Watcher.src/M000110.html" target="Code" class="method-signature"
186
+ onclick="popupCode('Watcher.src/M000110.html');return false;">
187
+ <span class="method-name">watcher_delegate</span><span class="method-args">(proxy_var)</span>
188
+ </a>
189
+ </div>
190
+
191
+ <div class="method-description">
192
+ <p>
193
+ Use an alternate watcher with the attach/detach/enable/disable methods if
194
+ it is presently assigned. This is useful if you are waiting for an event to
195
+ occur before the current watcher can be used in earnest, such as making an
196
+ outgoing TCP connection.
197
+ </p>
198
+ </div>
199
+ </div>
200
+
201
+ <h3 class="section-bar">Public Instance methods</h3>
202
+
203
+ <div id="method-M000113" class="method-detail">
204
+ <a name="M000113"></a>
205
+
206
+ <div class="method-heading">
207
+ <a href="Watcher.src/M000113.html" target="Code" class="method-signature"
208
+ onclick="popupCode('Watcher.src/M000113.html');return false;">
209
+ <span class="method-name">Rev::Watcher.attach(loop) &rarr; Rev::Watcher<br />
210
+ </span>
211
+ </a>
212
+ </div>
213
+
214
+ <div class="method-description">
215
+ <p>
216
+ Attach the watcher to the given <a href="Loop.html">Rev::Loop</a>. If the
217
+ watcher is already attached to a loop, <a
218
+ href="Watcher.html#M000114">detach</a> it from the old one and <a
219
+ href="Watcher.html#M000113">attach</a> it to the <a
220
+ href="Watcher.html#M000112">new</a> one.
221
+ </p>
222
+ </div>
223
+ </div>
224
+
225
+ <div id="method-M000118" class="method-detail">
226
+ <a name="M000118"></a>
227
+
228
+ <div class="method-heading">
229
+ <a href="Watcher.src/M000118.html" target="Code" class="method-signature"
230
+ onclick="popupCode('Watcher.src/M000118.html');return false;">
231
+ <span class="method-name">Rev::Watcher.attached? &rarr; Boolean<br />
232
+ </span>
233
+ </a>
234
+ </div>
235
+
236
+ <div class="method-description">
237
+ <p>
238
+ Is the watcher currently attached to an event loop?
239
+ </p>
240
+ </div>
241
+ </div>
242
+
243
+ <div id="method-M000114" class="method-detail">
244
+ <a name="M000114"></a>
245
+
246
+ <div class="method-heading">
247
+ <a href="Watcher.src/M000114.html" target="Code" class="method-signature"
248
+ onclick="popupCode('Watcher.src/M000114.html');return false;">
249
+ <span class="method-name">Rev::Watcher.detach &rarr; Rev::Watcher<br />
250
+ </span>
251
+ </a>
252
+ </div>
253
+
254
+ <div class="method-description">
255
+ <p>
256
+ Detach the watcher from its current <a href="Loop.html">Rev::Loop</a>.
257
+ </p>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000116" class="method-detail">
262
+ <a name="M000116"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="Watcher.src/M000116.html" target="Code" class="method-signature"
266
+ onclick="popupCode('Watcher.src/M000116.html');return false;">
267
+ <span class="method-name">Rev::Watcher.disable &rarr; Rev::Watcher<br />
268
+ </span>
269
+ </a>
270
+ </div>
271
+
272
+ <div class="method-description">
273
+ <p>
274
+ Temporarily <a href="Watcher.html#M000116">disable</a> an event watcher
275
+ which is attached to a loop. This is useful if you wish to toggle event
276
+ monitoring on and off.
277
+ </p>
278
+ </div>
279
+ </div>
280
+
281
+ <div id="method-M000115" class="method-detail">
282
+ <a name="M000115"></a>
283
+
284
+ <div class="method-heading">
285
+ <a href="Watcher.src/M000115.html" target="Code" class="method-signature"
286
+ onclick="popupCode('Watcher.src/M000115.html');return false;">
287
+ <span class="method-name">Rev::Watcher.enable &rarr; Rev::Watcher<br />
288
+ </span>
289
+ </a>
290
+ </div>
291
+
292
+ <div class="method-description">
293
+ <p>
294
+ Re-<a href="Watcher.html#M000115">enable</a> a watcher which has been
295
+ temporarily disabled. See the <a href="Watcher.html#M000116">disable</a>
296
+ method for a more thorough explanation.
297
+ </p>
298
+ </div>
299
+ </div>
300
+
301
+ <div id="method-M000119" class="method-detail">
302
+ <a name="M000119"></a>
303
+
304
+ <div class="method-heading">
305
+ <a href="Watcher.src/M000119.html" target="Code" class="method-signature"
306
+ onclick="popupCode('Watcher.src/M000119.html');return false;">
307
+ <span class="method-name">Rev::Watcher.enabled? &rarr; Boolean<br />
308
+ </span>
309
+ </a>
310
+ </div>
311
+
312
+ <div class="method-description">
313
+ <p>
314
+ Is the watcher currently <a href="Watcher.html#M000119">enabled?</a>
315
+ </p>
316
+ </div>
317
+ </div>
318
+
319
+ <div id="method-M000117" class="method-detail">
320
+ <a name="M000117"></a>
321
+
322
+ <div class="method-heading">
323
+ <a href="Watcher.src/M000117.html" target="Code" class="method-signature"
324
+ onclick="popupCode('Watcher.src/M000117.html');return false;">
325
+ <span class="method-name">Rev::Watcher.evloop &rarr; Rev::Loop<br />
326
+ </span>
327
+ </a>
328
+ </div>
329
+
330
+ <div class="method-description">
331
+ <p>
332
+ Return the loop to which we&#8216;re currently attached
333
+ </p>
334
+ </div>
335
+ </div>
336
+
337
+
338
+ </div>
339
+
340
+
341
+ </div>
342
+
343
+
344
+ <div id="validator-badges">
345
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
346
+ </div>
347
+
348
+ </body>
349
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>watcher_delegate (Rev::Watcher)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rev/watcher.rb, line 15</span>
14
+ 15: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">watcher_delegate</span>(<span class="ruby-identifier">proxy_var</span>)
15
+ 16: <span class="ruby-node">%w{attach detach enable disable}</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method</span><span class="ruby-operator">|</span>
16
+ 17: <span class="ruby-identifier">module_eval</span> <span class="ruby-value str">&quot;def \#{method}(*args)\nif \#{proxy_var}\n\#{proxy_var}.\#{method}(*args)\nreturn self\nend\n\nsuper\nend\n&quot;</span>
17
+ 18: <span class="ruby-keyword kw">end</span>
18
+ 19: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>event_callback (Rev::Watcher)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre> <span class="ruby-comment cmt"># File lib/rev/watcher.rb, line 35</span>
14
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">event_callback</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">methods</span>)
15
+ 36: <span class="ruby-identifier">methods</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method</span><span class="ruby-operator">|</span>
16
+ 37: <span class="ruby-identifier">module_eval</span> <span class="ruby-value str">&quot;def \#{method}(*args, &amp;block)\nif block\n@\#{method}_callback = block\nreturn\nend\n\nif @\#{method}_callback\ninstance_exec(*args, &amp;@\#{method}_callback)\nend\nend\n&quot;</span>
17
+ 38: <span class="ruby-keyword kw">end</span>
18
+ 39: <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Rev::Watcher)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre>/* Method implementations */
14
+ static VALUE Rev_Watcher_initialize(VALUE self);
15
+ </pre>
16
+ </body>
17
+ </html>