eventmachine 1.0.0.beta.2-x86-mswin32-60 → 1.0.0.beta.3-x86-mswin32-60

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 (67) hide show
  1. data/.yardopts +3 -0
  2. data/Gemfile +1 -0
  3. data/eventmachine.gemspec +1 -3
  4. data/ext/cmain.cpp +4 -4
  5. data/ext/ed.cpp +13 -16
  6. data/ext/ed.h +9 -10
  7. data/ext/em.cpp +14 -24
  8. data/ext/eventmachine.h +2 -2
  9. data/ext/extconf.rb +1 -1
  10. data/ext/rubymain.cpp +8 -6
  11. data/lib/em/connection.rb +3 -1
  12. data/lib/em/pure_ruby.rb +17 -17
  13. data/lib/em/resolver.rb +186 -0
  14. data/lib/em/spawnable.rb +3 -7
  15. data/lib/em/version.rb +1 -1
  16. data/lib/eventmachine.rb +6 -4
  17. data/lib/jeventmachine.rb +1 -1
  18. data/tasks/package.rake +4 -1
  19. data/tasks/test.rake +1 -0
  20. data/tests/em_test_helper.rb +55 -0
  21. data/tests/test_attach.rb +46 -56
  22. data/tests/test_basic.rb +74 -96
  23. data/tests/test_channel.rb +2 -4
  24. data/tests/test_connection_count.rb +1 -3
  25. data/tests/test_defer.rb +13 -44
  26. data/tests/test_deferrable.rb +19 -19
  27. data/tests/test_epoll.rb +25 -55
  28. data/tests/test_error_handler.rb +10 -7
  29. data/tests/test_exc.rb +6 -33
  30. data/tests/test_file_watch.rb +51 -35
  31. data/tests/test_futures.rb +9 -37
  32. data/tests/test_get_sock_opt.rb +27 -20
  33. data/tests/test_handler_check.rb +1 -3
  34. data/tests/test_hc.rb +24 -59
  35. data/tests/test_httpclient.rb +27 -64
  36. data/tests/test_httpclient2.rb +1 -29
  37. data/tests/test_inactivity_timeout.rb +44 -40
  38. data/tests/test_kb.rb +26 -52
  39. data/tests/test_ltp.rb +23 -67
  40. data/tests/test_ltp2.rb +1 -30
  41. data/tests/test_next_tick.rb +1 -30
  42. data/tests/test_object_protocol.rb +8 -9
  43. data/tests/test_pause.rb +45 -37
  44. data/tests/test_pending_connect_timeout.rb +42 -38
  45. data/tests/test_process_watch.rb +1 -3
  46. data/tests/test_processes.rb +92 -110
  47. data/tests/test_proxy_connection.rb +128 -104
  48. data/tests/test_pure.rb +29 -75
  49. data/tests/test_queue.rb +2 -4
  50. data/tests/test_resolver.rb +55 -0
  51. data/tests/test_running.rb +1 -29
  52. data/tests/test_sasl.rb +7 -32
  53. data/tests/test_send_file.rb +162 -196
  54. data/tests/test_servers.rb +13 -56
  55. data/tests/test_smtpclient.rb +1 -29
  56. data/tests/test_smtpserver.rb +1 -29
  57. data/tests/test_spawn.rb +2 -31
  58. data/tests/test_ssl_args.rb +9 -10
  59. data/tests/test_ssl_methods.rb +1 -3
  60. data/tests/test_ssl_verify.rb +63 -63
  61. data/tests/test_tick_loop.rb +1 -1
  62. data/tests/test_timers.rb +52 -89
  63. data/tests/test_ud.rb +1 -29
  64. metadata +20 -10
  65. data/setup.rb +0 -1585
  66. data/tests/test_errors.rb +0 -82
  67. data/tests/testem.rb +0 -31
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --exclude jeventmachine --exclude pure_ruby
2
+ -
3
+ docs/DEFERRABLES docs/EPOLL docs/KEYBOARD
data/Gemfile CHANGED
@@ -1 +1,2 @@
1
+ source :rubygems
1
2
  gemspec
data/eventmachine.gemspec CHANGED
@@ -2,8 +2,6 @@
2
2
  require File.expand_path('../lib/em/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.date = "2010-11-13"
6
-
7
5
  s.name = 'eventmachine'
8
6
  s.version = EventMachine::VERSION
9
7
  s.homepage = 'http://rubyeventmachine.com'
@@ -15,7 +13,7 @@ Gem::Specification.new do |s|
15
13
  s.files = `git ls-files`.split("\n")
16
14
  s.extensions = ["ext/extconf.rb", "ext/fastfilereader/extconf.rb"]
17
15
 
18
- s.add_development_dependency 'rake-compiler'
16
+ s.add_development_dependency 'rake-compiler', '0.7.6'
19
17
 
20
18
  s.summary = 'Ruby/EventMachine library'
21
19
  s.description = "EventMachine implements a fast, single-threaded engine for arbitrary network
data/ext/cmain.cpp CHANGED
@@ -464,12 +464,12 @@ extern "C" void evma_accept_ssl_peer (const unsigned long binding)
464
464
  evma_get_peername
465
465
  *****************/
466
466
 
467
- extern "C" int evma_get_peername (const unsigned long binding, struct sockaddr *sa)
467
+ extern "C" int evma_get_peername (const unsigned long binding, struct sockaddr *sa, socklen_t *len)
468
468
  {
469
469
  ensure_eventmachine("evma_get_peername");
470
470
  EventableDescriptor *ed = dynamic_cast <EventableDescriptor*> (Bindable_t::GetObject (binding));
471
471
  if (ed) {
472
- return ed->GetPeername (sa) ? 1 : 0;
472
+ return ed->GetPeername (sa, len) ? 1 : 0;
473
473
  }
474
474
  else
475
475
  return 0;
@@ -479,12 +479,12 @@ extern "C" int evma_get_peername (const unsigned long binding, struct sockaddr *
479
479
  evma_get_sockname
480
480
  *****************/
481
481
 
482
- extern "C" int evma_get_sockname (const unsigned long binding, struct sockaddr *sa)
482
+ extern "C" int evma_get_sockname (const unsigned long binding, struct sockaddr *sa, socklen_t *len)
483
483
  {
484
484
  ensure_eventmachine("evma_get_sockname");
485
485
  EventableDescriptor *ed = dynamic_cast <EventableDescriptor*> (Bindable_t::GetObject (binding));
486
486
  if (ed) {
487
- return ed->GetSockname (sa) ? 1 : 0;
487
+ return ed->GetSockname (sa, len) ? 1 : 0;
488
488
  }
489
489
  else
490
490
  return 0;
data/ext/ed.cpp CHANGED
@@ -54,6 +54,7 @@ EventableDescriptor::EventableDescriptor (int sd, EventMachine_t *em):
54
54
  bCloseNow (false),
55
55
  bCloseAfterWriting (false),
56
56
  MySocket (sd),
57
+ bWatchOnly (false),
57
58
  EventCallback (NULL),
58
59
  bCallbackUnbind (true),
59
60
  UnbindReasonCode (0),
@@ -135,7 +136,7 @@ EventableDescriptor::Close
135
136
  void EventableDescriptor::Close()
136
137
  {
137
138
  // Close the socket right now. Intended for emergencies.
138
- if (MySocket != INVALID_SOCKET) {
139
+ if (MySocket != INVALID_SOCKET && !bWatchOnly) {
139
140
  shutdown (MySocket, 1);
140
141
  close (MySocket);
141
142
  MySocket = INVALID_SOCKET;
@@ -298,7 +299,7 @@ uint64_t EventableDescriptor::GetNextHeartbeat()
298
299
  NextHeartbeat = 0;
299
300
 
300
301
  if (!ShouldDelete()) {
301
- uint64_t time_til_next = GetCommInactivityTimeout() * 1000;
302
+ uint64_t time_til_next = InactivityTimeout;
302
303
  if (IsConnectPending()) {
303
304
  if (time_til_next == 0 || PendingConnectTimeout < time_til_next)
304
305
  time_til_next = PendingConnectTimeout;
@@ -322,7 +323,6 @@ ConnectionDescriptor::ConnectionDescriptor (int sd, EventMachine_t *em):
322
323
  bConnectPending (false),
323
324
  bNotifyReadable (false),
324
325
  bNotifyWritable (false),
325
- bWatchOnly (false),
326
326
  bReadAttemptedAfterClose (false),
327
327
  bWriteAttemptedAfterClose (false),
328
328
  OutboundDataSize (0),
@@ -1393,12 +1393,11 @@ void AcceptorDescriptor::Heartbeat()
1393
1393
  AcceptorDescriptor::GetSockname
1394
1394
  *******************************/
1395
1395
 
1396
- bool AcceptorDescriptor::GetSockname (struct sockaddr *s)
1396
+ bool AcceptorDescriptor::GetSockname (struct sockaddr *s, socklen_t *len)
1397
1397
  {
1398
1398
  bool ok = false;
1399
1399
  if (s) {
1400
- socklen_t len = sizeof(*s);
1401
- int gp = getsockname (GetSocket(), s, &len);
1400
+ int gp = getsockname (GetSocket(), s, len);
1402
1401
  if (gp == 0)
1403
1402
  ok = true;
1404
1403
  }
@@ -1716,12 +1715,11 @@ int DatagramDescriptor::SendOutboundDatagram (const char *data, int length, cons
1716
1715
  ConnectionDescriptor::GetPeername
1717
1716
  *********************************/
1718
1717
 
1719
- bool ConnectionDescriptor::GetPeername (struct sockaddr *s)
1718
+ bool ConnectionDescriptor::GetPeername (struct sockaddr *s, socklen_t *len)
1720
1719
  {
1721
1720
  bool ok = false;
1722
1721
  if (s) {
1723
- socklen_t len = sizeof(*s);
1724
- int gp = getpeername (GetSocket(), s, &len);
1722
+ int gp = getpeername (GetSocket(), s, len);
1725
1723
  if (gp == 0)
1726
1724
  ok = true;
1727
1725
  }
@@ -1732,12 +1730,11 @@ bool ConnectionDescriptor::GetPeername (struct sockaddr *s)
1732
1730
  ConnectionDescriptor::GetSockname
1733
1731
  *********************************/
1734
1732
 
1735
- bool ConnectionDescriptor::GetSockname (struct sockaddr *s)
1733
+ bool ConnectionDescriptor::GetSockname (struct sockaddr *s, socklen_t *len)
1736
1734
  {
1737
1735
  bool ok = false;
1738
1736
  if (s) {
1739
- socklen_t len = sizeof(*s);
1740
- int gp = getsockname (GetSocket(), s, &len);
1737
+ int gp = getsockname (GetSocket(), s, len);
1741
1738
  if (gp == 0)
1742
1739
  ok = true;
1743
1740
  }
@@ -1770,10 +1767,11 @@ int ConnectionDescriptor::SetCommInactivityTimeout (uint64_t value)
1770
1767
  DatagramDescriptor::GetPeername
1771
1768
  *******************************/
1772
1769
 
1773
- bool DatagramDescriptor::GetPeername (struct sockaddr *s)
1770
+ bool DatagramDescriptor::GetPeername (struct sockaddr *s, socklen_t *len)
1774
1771
  {
1775
1772
  bool ok = false;
1776
1773
  if (s) {
1774
+ *len = sizeof(struct sockaddr);
1777
1775
  memset (s, 0, sizeof(struct sockaddr));
1778
1776
  memcpy (s, &ReturnAddress, sizeof(ReturnAddress));
1779
1777
  ok = true;
@@ -1785,12 +1783,11 @@ bool DatagramDescriptor::GetPeername (struct sockaddr *s)
1785
1783
  DatagramDescriptor::GetSockname
1786
1784
  *******************************/
1787
1785
 
1788
- bool DatagramDescriptor::GetSockname (struct sockaddr *s)
1786
+ bool DatagramDescriptor::GetSockname (struct sockaddr *s, socklen_t *len)
1789
1787
  {
1790
1788
  bool ok = false;
1791
1789
  if (s) {
1792
- socklen_t len = sizeof(*s);
1793
- int gp = getsockname (GetSocket(), s, &len);
1790
+ int gp = getsockname (GetSocket(), s, len);
1794
1791
  if (gp == 0)
1795
1792
  ok = true;
1796
1793
  }
data/ext/ed.h CHANGED
@@ -56,7 +56,7 @@ class EventableDescriptor: public Bindable_t
56
56
  bool ShouldDelete();
57
57
  // Do we have any data to write? This is used by ShouldDelete.
58
58
  virtual int GetOutboundDataSize() {return 0;}
59
- virtual bool IsWatchOnly(){ return false; }
59
+ virtual bool IsWatchOnly(){ return bWatchOnly; }
60
60
 
61
61
  virtual void ScheduleClose (bool after_writing);
62
62
  bool IsCloseScheduled();
@@ -64,8 +64,8 @@ class EventableDescriptor: public Bindable_t
64
64
 
65
65
  void SetEventCallback (EMCallback);
66
66
 
67
- virtual bool GetPeername (struct sockaddr*) {return false;}
68
- virtual bool GetSockname (struct sockaddr*) {return false;}
67
+ virtual bool GetPeername (struct sockaddr*, socklen_t*) {return false;}
68
+ virtual bool GetSockname (struct sockaddr*, socklen_t*) {return false;}
69
69
  virtual bool GetSubprocessPid (pid_t*) {return false;}
70
70
 
71
71
  virtual void StartTls() {}
@@ -102,6 +102,7 @@ class EventableDescriptor: public Bindable_t
102
102
 
103
103
  protected:
104
104
  int MySocket;
105
+ bool bWatchOnly;
105
106
 
106
107
  EMCallback EventCallback;
107
108
  void _GenericInboundDispatch(const char*, int);
@@ -174,7 +175,6 @@ class ConnectionDescriptor: public EventableDescriptor
174
175
 
175
176
  bool IsNotifyReadable(){ return bNotifyReadable; }
176
177
  bool IsNotifyWritable(){ return bNotifyWritable; }
177
- virtual bool IsWatchOnly(){ return bWatchOnly; }
178
178
 
179
179
  virtual void Read();
180
180
  virtual void Write();
@@ -197,8 +197,8 @@ class ConnectionDescriptor: public EventableDescriptor
197
197
 
198
198
  void SetServerMode() {bIsServer = true;}
199
199
 
200
- virtual bool GetPeername (struct sockaddr*);
201
- virtual bool GetSockname (struct sockaddr*);
200
+ virtual bool GetPeername (struct sockaddr*, socklen_t*);
201
+ virtual bool GetSockname (struct sockaddr*, socklen_t*);
202
202
 
203
203
  virtual uint64_t GetCommInactivityTimeout();
204
204
  virtual int SetCommInactivityTimeout (uint64_t value);
@@ -221,7 +221,6 @@ class ConnectionDescriptor: public EventableDescriptor
221
221
 
222
222
  bool bNotifyReadable;
223
223
  bool bNotifyWritable;
224
- bool bWatchOnly;
225
224
 
226
225
  bool bReadAttemptedAfterClose;
227
226
  bool bWriteAttemptedAfterClose;
@@ -279,8 +278,8 @@ class DatagramDescriptor: public EventableDescriptor
279
278
  // Do we have any data to write? This is used by ShouldDelete.
280
279
  virtual int GetOutboundDataSize() {return OutboundDataSize;}
281
280
 
282
- virtual bool GetPeername (struct sockaddr*);
283
- virtual bool GetSockname (struct sockaddr*);
281
+ virtual bool GetPeername (struct sockaddr*, socklen_t*);
282
+ virtual bool GetSockname (struct sockaddr*, socklen_t*);
284
283
 
285
284
  virtual uint64_t GetCommInactivityTimeout();
286
285
  virtual int SetCommInactivityTimeout (uint64_t value);
@@ -319,7 +318,7 @@ class AcceptorDescriptor: public EventableDescriptor
319
318
  virtual bool SelectForRead() {return true;}
320
319
  virtual bool SelectForWrite() {return false;}
321
320
 
322
- virtual bool GetSockname (struct sockaddr*);
321
+ virtual bool GetSockname (struct sockaddr*, socklen_t*);
323
322
 
324
323
  static void StopAcceptor (const unsigned long binding);
325
324
  };
data/ext/em.cpp CHANGED
@@ -308,6 +308,10 @@ void EventMachine_t::_InitializeLoopBreaker()
308
308
 
309
309
  LoopBreakerWriter = fd[1];
310
310
  LoopBreakerReader = fd[0];
311
+
312
+ /* 16Jan11: Make sure the pipe is non-blocking, so more than 65k loopbreaks
313
+ * in one tick do not fill up the pipe and block the process on write() */
314
+ SetSocketNonblocking (LoopBreakerWriter);
311
315
  #endif
312
316
 
313
317
  #ifdef OS_WIN32
@@ -351,6 +355,7 @@ EventMachine_t::GetRealTime
351
355
  uint64_t EventMachine_t::GetRealTime()
352
356
  {
353
357
  uint64_t current_time;
358
+
354
359
  #if defined(OS_UNIX)
355
360
  struct timeval tv;
356
361
  gettimeofday (&tv, NULL);
@@ -362,10 +367,12 @@ uint64_t EventMachine_t::GetRealTime()
362
367
  TickCountTickover += 1;
363
368
  LastTickCount = tick;
364
369
  current_time = ((uint64_t)TickCountTickover << 32) + (uint64_t)tick;
370
+ current_time *= 1000; // convert to microseconds
365
371
 
366
372
  #else
367
373
  current_time = (uint64_t)time(NULL) * 1000000LL;
368
374
  #endif
375
+
369
376
  return current_time;
370
377
  }
371
378
 
@@ -578,6 +585,10 @@ bool EventMachine_t::_RunKqueueOnce()
578
585
 
579
586
  timeval tv = _TimeTilNextEvent();
580
587
 
588
+ struct timespec ts;
589
+ ts.tv_sec = tv.tv_sec;
590
+ ts.tv_nsec = tv.tv_usec * 1000;
591
+
581
592
  #ifdef BUILD_FOR_RUBY
582
593
  int ret = 0;
583
594
  fd_set fdreads;
@@ -594,12 +605,10 @@ bool EventMachine_t::_RunKqueueOnce()
594
605
  }
595
606
 
596
607
  TRAP_BEG;
597
- k = kevent (kqfd, NULL, 0, Karray, MaxEvents, NULL);
608
+ ts.tv_sec = ts.tv_nsec = 0;
609
+ k = kevent (kqfd, NULL, 0, Karray, MaxEvents, &ts);
598
610
  TRAP_END;
599
611
  #else
600
- struct timespec ts;
601
- ts.tv_sec = tv.tv_sec;
602
- ts.tv_nsec = tv.tv_usec * 1000;
603
612
  k = kevent (kqfd, NULL, 0, Karray, MaxEvents, &ts);
604
613
  #endif
605
614
 
@@ -1028,28 +1037,9 @@ const unsigned long EventMachine_t::InstallOneshotTimer (int milliseconds)
1028
1037
  {
1029
1038
  if (Timers.size() > MaxOutstandingTimers)
1030
1039
  return false;
1031
- // Don't use the global loop-time variable here, because we might
1032
- // get called before the main event machine is running.
1033
1040
 
1034
- // XXX This should be replaced with a call to _GetRealTime(), but I don't
1035
- // understand if this is a bug or not? For OS_UNIX we multiply the argument
1036
- // milliseconds by 1000, but for OS_WIN32 we do not? This needs to be sorted out.
1037
- #ifdef OS_UNIX
1038
- struct timeval tv;
1039
- gettimeofday (&tv, NULL);
1040
- uint64_t fire_at = (((uint64_t)(tv.tv_sec)) * 1000000LL) + ((uint64_t)(tv.tv_usec));
1041
+ uint64_t fire_at = GetRealTime();
1041
1042
  fire_at += ((uint64_t)milliseconds) * 1000LL;
1042
- #endif
1043
-
1044
- #ifdef OS_WIN32
1045
- unsigned tick = GetTickCount();
1046
- if (tick < LastTickCount)
1047
- TickCountTickover += 1;
1048
- LastTickCount = tick;
1049
-
1050
- uint64_t fire_at = ((uint64_t)TickCountTickover << 32) + (uint64_t)tick;
1051
- fire_at += (uint64_t)milliseconds;
1052
- #endif
1053
1043
 
1054
1044
  Timer_t t;
1055
1045
  #ifndef HAVE_MAKE_PAIR
data/ext/eventmachine.h CHANGED
@@ -72,8 +72,8 @@ extern "C" {
72
72
  void evma_accept_ssl_peer (const unsigned long binding);
73
73
  #endif
74
74
 
75
- int evma_get_peername (const unsigned long binding, struct sockaddr*);
76
- int evma_get_sockname (const unsigned long binding, struct sockaddr*);
75
+ int evma_get_peername (const unsigned long binding, struct sockaddr*, socklen_t*);
76
+ int evma_get_sockname (const unsigned long binding, struct sockaddr*, socklen_t*);
77
77
  int evma_get_subprocess_pid (const unsigned long binding, pid_t*);
78
78
  int evma_get_subprocess_status (const unsigned long binding, int*);
79
79
  int evma_get_connection_count();
data/ext/extconf.rb CHANGED
@@ -154,4 +154,4 @@ add_define 'HAVE_MAKE_PAIR' if try_link(<<SRC, '-lstdc++')
154
154
  SRC
155
155
  TRY_LINK.sub!('$(CXX)', '$(CC)')
156
156
 
157
- create_makefile "rubyeventmachine"
157
+ create_makefile "rubyeventmachine"
data/ext/rubymain.cpp CHANGED
@@ -341,9 +341,10 @@ t_get_peername
341
341
 
342
342
  static VALUE t_get_peername (VALUE self, VALUE signature)
343
343
  {
344
- struct sockaddr s;
345
- if (evma_get_peername (NUM2ULONG (signature), &s)) {
346
- return rb_str_new ((const char*)&s, sizeof(s));
344
+ char buf[1024];
345
+ socklen_t len = sizeof buf;
346
+ if (evma_get_peername (NUM2ULONG (signature), (struct sockaddr*)buf, &len)) {
347
+ return rb_str_new (buf, len);
347
348
  }
348
349
 
349
350
  return Qnil;
@@ -355,9 +356,10 @@ t_get_sockname
355
356
 
356
357
  static VALUE t_get_sockname (VALUE self, VALUE signature)
357
358
  {
358
- struct sockaddr s;
359
- if (evma_get_sockname (NUM2ULONG (signature), &s)) {
360
- return rb_str_new ((const char*)&s, sizeof(s));
359
+ char buf[1024];
360
+ socklen_t len = sizeof buf;
361
+ if (evma_get_sockname (NUM2ULONG (signature), (struct sockaddr*)buf, &len)) {
362
+ return rb_str_new (buf, len);
361
363
  }
362
364
 
363
365
  return Qnil;
data/lib/em/connection.rb CHANGED
@@ -405,7 +405,9 @@ module EventMachine
405
405
  #
406
406
  def send_datagram data, recipient_address, recipient_port
407
407
  data = data.to_s
408
- EventMachine::send_datagram @signature, data, data.length, recipient_address, Integer(recipient_port)
408
+ size = data.bytesize if data.respond_to?(:bytesize)
409
+ size ||= data.size
410
+ EventMachine::send_datagram @signature, data, size, recipient_address, Integer(recipient_port)
409
411
  end
410
412
 
411
413
 
data/lib/em/pure_ruby.rb CHANGED
@@ -34,7 +34,7 @@ require 'socket'
34
34
  require 'fcntl'
35
35
  require 'set'
36
36
 
37
- module EventMachine
37
+ module EventMachine #:nodoc: all
38
38
  class << self
39
39
  # This is mostly useful for automated tests.
40
40
  # Return a distinctive symbol so the caller knows whether he's dealing
@@ -208,7 +208,7 @@ end
208
208
 
209
209
  #-----------------------------------------------------------------
210
210
 
211
- module EventMachine
211
+ module EventMachine #:nodoc: all
212
212
 
213
213
  class Error < Exception; end
214
214
 
@@ -216,7 +216,7 @@ end
216
216
 
217
217
  #-----------------------------------------------------------------
218
218
 
219
- module EventMachine
219
+ module EventMachine #:nodoc: all
220
220
  class Connection
221
221
  def get_outbound_data_size
222
222
  EventMachine::get_outbound_data_size @signature
@@ -226,7 +226,7 @@ end
226
226
 
227
227
  #-----------------------------------------------------------------
228
228
 
229
- module EventMachine
229
+ module EventMachine #:nodoc: all
230
230
 
231
231
  # Factored out so we can substitute other implementations
232
232
  # here if desired, such as the one in ActiveRBAC.
@@ -243,7 +243,7 @@ end
243
243
 
244
244
  #-----------------------------------------------------------------
245
245
 
246
- module EventMachine
246
+ module EventMachine #:nodoc: all
247
247
 
248
248
  TimerFired = 100
249
249
  ConnectionData = 101
@@ -256,7 +256,7 @@ end
256
256
 
257
257
  #-----------------------------------------------------------------
258
258
 
259
- module EventMachine
259
+ module EventMachine #:nodoc: all
260
260
  class Reactor
261
261
  include Singleton
262
262
 
@@ -414,7 +414,7 @@ end
414
414
 
415
415
  #--------------------------------------------------------------
416
416
 
417
- class IO
417
+ class IO #:nodoc: all
418
418
  extend Forwardable
419
419
  def_delegator :@my_selectable, :close_scheduled?
420
420
  def_delegator :@my_selectable, :select_for_reading?
@@ -433,7 +433,7 @@ end
433
433
 
434
434
  #--------------------------------------------------------------
435
435
 
436
- module EventMachine
436
+ module EventMachine #:nodoc: all
437
437
  class Selectable
438
438
 
439
439
  attr_reader :io, :uuid
@@ -494,7 +494,7 @@ end
494
494
  #--------------------------------------------------------------
495
495
 
496
496
 
497
- module EventMachine
497
+ module EventMachine #:nodoc: all
498
498
 
499
499
  class StreamObject < Selectable
500
500
  def initialize io
@@ -636,7 +636,7 @@ end
636
636
 
637
637
 
638
638
 
639
- module EventMachine
639
+ module EventMachine #:nodoc: all
640
640
  class EvmaTCPClient < StreamObject
641
641
 
642
642
  def self.connect bind_addr, bind_port, host, port
@@ -687,7 +687,7 @@ end
687
687
 
688
688
 
689
689
 
690
- module EventMachine
690
+ module EventMachine #:nodoc: all
691
691
  class EvmaKeyboard < StreamObject
692
692
 
693
693
  def self.open
@@ -717,7 +717,7 @@ end
717
717
 
718
718
 
719
719
 
720
- module EventMachine
720
+ module EventMachine #:nodoc: all
721
721
  class EvmaUNIXClient < StreamObject
722
722
 
723
723
  def self.connect chain
@@ -765,7 +765,7 @@ end
765
765
 
766
766
  #--------------------------------------------------------------
767
767
 
768
- module EventMachine
768
+ module EventMachine #:nodoc: all
769
769
  class EvmaTCPServer < Selectable
770
770
 
771
771
  # TODO, refactor and unify with EvmaUNIXServer.
@@ -820,7 +820,7 @@ end
820
820
 
821
821
  #--------------------------------------------------------------
822
822
 
823
- module EventMachine
823
+ module EventMachine #:nodoc: all
824
824
  class EvmaUNIXServer < Selectable
825
825
 
826
826
  # TODO, refactor and unify with EvmaTCPServer.
@@ -876,7 +876,7 @@ end
876
876
 
877
877
  #--------------------------------------------------------------
878
878
 
879
- module EventMachine
879
+ module EventMachine #:nodoc: all
880
880
  class LoopbreakReader < Selectable
881
881
 
882
882
  def select_for_reading?
@@ -894,7 +894,7 @@ end
894
894
  #--------------------------------------------------------------
895
895
 
896
896
 
897
- module EventMachine
897
+ module EventMachine #:nodoc: all
898
898
 
899
899
  class DatagramObject < Selectable
900
900
  def initialize io
@@ -941,7 +941,7 @@ end
941
941
 
942
942
  #--------------------------------------------------------------
943
943
 
944
- module EventMachine
944
+ module EventMachine #:nodoc: all
945
945
  class EvmaUDPSocket < DatagramObject
946
946
 
947
947
  class << self