eventmachine 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/binder.cpp +1 -9
- data/ext/ed.cpp +5 -3
- data/ext/ed.h +2 -2
- data/ext/em.cpp +4 -4
- data/ext/project.h +1 -2
- data/ext/rubymain.cpp +5 -3
- data/lib/eventmachine.rb +7 -7
- metadata +2 -2
data/ext/binder.cpp
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*****************************************************************************
|
2
2
|
|
3
|
-
$Id: binder.cpp
|
3
|
+
$Id: binder.cpp 2381 2006-04-24 13:33:03Z francis $
|
4
4
|
|
5
5
|
File: binder.cpp
|
6
6
|
Date: 07Apr06
|
@@ -27,7 +27,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
27
27
|
#include "project.h"
|
28
28
|
|
29
29
|
#define DEV_URANDOM "/dev/urandom"
|
30
|
-
#define DO_NOT_REQUIRE_UUID
|
31
30
|
|
32
31
|
|
33
32
|
map<string, Bindable_t*> Bindable_t::BindingBag;
|
@@ -43,12 +42,6 @@ string Bindable_t::CreateBinding()
|
|
43
42
|
static string seed;
|
44
43
|
|
45
44
|
if ((index >= 1000000) || (seed.length() == 0)) {
|
46
|
-
#ifdef REQUIRE_UUID
|
47
|
-
uuid_t u;
|
48
|
-
uuid_generate (u);
|
49
|
-
#endif
|
50
|
-
|
51
|
-
#ifdef DO_NOT_REQUIRE_UUID
|
52
45
|
int fd = open (DEV_URANDOM, O_RDONLY);
|
53
46
|
if (fd < 0)
|
54
47
|
throw std::runtime_error ("No entropy device");
|
@@ -57,7 +50,6 @@ string Bindable_t::CreateBinding()
|
|
57
50
|
size_t r = read (fd, u, sizeof(u));
|
58
51
|
if (r < sizeof(u))
|
59
52
|
throw std::runtime_error ("Unable to read entropy device");
|
60
|
-
#endif
|
61
53
|
|
62
54
|
unsigned char *u1 = (unsigned char*)u;
|
63
55
|
char u2 [sizeof(u) * 2 + 1];
|
data/ext/ed.cpp
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*****************************************************************************
|
2
2
|
|
3
|
-
$Id: ed.cpp
|
3
|
+
$Id: ed.cpp 2382 2006-04-25 03:03:53Z francis $
|
4
4
|
|
5
5
|
File: ed.cpp
|
6
6
|
Date: 06Apr06
|
@@ -551,8 +551,10 @@ DatagramDescriptor::DatagramDescriptor
|
|
551
551
|
**************************************/
|
552
552
|
|
553
553
|
DatagramDescriptor::DatagramDescriptor (int sd):
|
554
|
-
|
554
|
+
EventableDescriptor (sd),
|
555
|
+
OutboundDataSize (0)
|
555
556
|
{
|
557
|
+
bzero (&ReturnAddress, sizeof(ReturnAddress));
|
556
558
|
}
|
557
559
|
|
558
560
|
|
@@ -731,7 +733,7 @@ int DatagramDescriptor::SendOutboundDatagram (const char *data, int length, cons
|
|
731
733
|
unsigned long HostAddr;
|
732
734
|
|
733
735
|
HostAddr = inet_addr (address);
|
734
|
-
if (HostAddr ==
|
736
|
+
if (HostAddr == INADDR_NONE) {
|
735
737
|
hostent *hp = gethostbyname (address);
|
736
738
|
if (!hp)
|
737
739
|
return 0;
|
data/ext/ed.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*****************************************************************************
|
2
2
|
|
3
|
-
$Id: ed.h
|
3
|
+
$Id: ed.h 2378 2006-04-24 03:37:19Z francis $
|
4
4
|
|
5
5
|
File: ed.h
|
6
6
|
Date: 06Apr06
|
@@ -154,7 +154,7 @@ class DatagramDescriptor: public EventableDescriptor
|
|
154
154
|
|
155
155
|
protected:
|
156
156
|
struct OutboundPage {
|
157
|
-
OutboundPage (const char *b, int l, struct sockaddr_in f, int o=0): Buffer(b), Length(l),
|
157
|
+
OutboundPage (const char *b, int l, struct sockaddr_in f, int o=0): Buffer(b), Length(l), Offset(o), From(f) {}
|
158
158
|
void Free() {if (Buffer) free ((char*)Buffer); }
|
159
159
|
const char *Buffer;
|
160
160
|
int Length;
|
data/ext/em.cpp
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*****************************************************************************
|
2
2
|
|
3
|
-
$Id: em.cpp
|
3
|
+
$Id: em.cpp 2378 2006-04-24 03:37:19Z francis $
|
4
4
|
|
5
5
|
File: ed.cpp
|
6
6
|
Date: 06Apr06
|
@@ -281,7 +281,7 @@ const char *EventMachine_t::ConnectToServer (const char *server, int port)
|
|
281
281
|
unsigned long HostAddr;
|
282
282
|
|
283
283
|
HostAddr = inet_addr (server);
|
284
|
-
if (HostAddr ==
|
284
|
+
if (HostAddr == INADDR_NONE) {
|
285
285
|
hostent *hp = gethostbyname (server);
|
286
286
|
if (!hp)
|
287
287
|
return NULL;
|
@@ -373,7 +373,7 @@ const char *EventMachine_t::CreateTcpServer (const char *server, int port)
|
|
373
373
|
|
374
374
|
if (server && *server) {
|
375
375
|
sin.sin_addr.s_addr = inet_addr (server);
|
376
|
-
if (sin.sin_addr.s_addr ==
|
376
|
+
if (sin.sin_addr.s_addr == INADDR_NONE) {
|
377
377
|
hostent *hp = gethostbyname (server);
|
378
378
|
if (hp == NULL) {
|
379
379
|
//__warning ("hostname not resolved: ", server);
|
@@ -457,7 +457,7 @@ const char *EventMachine_t::OpenDatagramSocket (const char *address, int port)
|
|
457
457
|
|
458
458
|
if (address && *address) {
|
459
459
|
sin.sin_addr.s_addr = inet_addr (address);
|
460
|
-
if (sin.sin_addr.s_addr ==
|
460
|
+
if (sin.sin_addr.s_addr == INADDR_NONE) {
|
461
461
|
hostent *hp = gethostbyname (address);
|
462
462
|
if (hp == NULL)
|
463
463
|
goto fail;
|
data/ext/project.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*****************************************************************************
|
2
2
|
|
3
|
-
$Id: project.h
|
3
|
+
$Id: project.h 2381 2006-04-24 13:33:03Z francis $
|
4
4
|
|
5
5
|
File: project.h
|
6
6
|
Date: 06Apr06
|
@@ -47,7 +47,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
47
47
|
#include <netinet/in.h>
|
48
48
|
#include <netinet/tcp.h>
|
49
49
|
#include <arpa/inet.h>
|
50
|
-
#include <uuid/uuid.h>
|
51
50
|
using namespace std;
|
52
51
|
|
53
52
|
|
data/ext/rubymain.cpp
CHANGED
@@ -71,6 +71,7 @@ void *TRunEvma (void *v)
|
|
71
71
|
{
|
72
72
|
evma_run_machine();
|
73
73
|
write (SyncSockets[1], "$", 1);
|
74
|
+
return NULL;
|
74
75
|
}
|
75
76
|
|
76
77
|
|
@@ -86,14 +87,15 @@ static VALUE t_initialize_event_machine (VALUE self)
|
|
86
87
|
|
87
88
|
|
88
89
|
|
89
|
-
|
90
|
+
/*****************************
|
90
91
|
t_run_machine_without_threads
|
91
|
-
|
92
|
+
*****************************/
|
92
93
|
|
93
94
|
static VALUE t_run_machine_without_threads (VALUE self)
|
94
95
|
{
|
95
96
|
UseThreads = false;
|
96
97
|
evma_run_machine();
|
98
|
+
return Qnil;
|
97
99
|
}
|
98
100
|
|
99
101
|
|
@@ -184,7 +186,7 @@ t_send_data
|
|
184
186
|
static VALUE t_send_data (VALUE self, VALUE signature, VALUE data, VALUE data_length)
|
185
187
|
{
|
186
188
|
int b = evma_send_data_to_connection (StringValuePtr (signature), StringValuePtr (data), FIX2INT (data_length));
|
187
|
-
return (b
|
189
|
+
return INT2NUM (b);
|
188
190
|
}
|
189
191
|
|
190
192
|
|
data/lib/eventmachine.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: eventmachine.rb
|
1
|
+
# $Id: eventmachine.rb 2380 2006-04-24 11:13:02Z francis $
|
2
2
|
#
|
3
3
|
# Author:: blackhedd (gmail address: garbagecat20).
|
4
4
|
# Date:: 8 Apr 2006
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# Copyright (C) 2006 by Francis Cianfrocca. All Rights Reserved.
|
16
16
|
#
|
17
|
-
# Gmail:
|
17
|
+
# Gmail: garbagecat10
|
18
18
|
#
|
19
19
|
# This program is free software; you can redistribute it and/or modify
|
20
20
|
# it under the terms of the GNU General Public License as published by
|
@@ -64,7 +64,7 @@ require 'rubyeventmachine'
|
|
64
64
|
# Here's a fully-functional echo server implemented in EventMachine:
|
65
65
|
#
|
66
66
|
# require 'rubygems'
|
67
|
-
#
|
67
|
+
# require 'eventmachine'
|
68
68
|
#
|
69
69
|
# module EchoServer
|
70
70
|
# def receive_data data
|
@@ -209,7 +209,7 @@ module EventMachine
|
|
209
209
|
# with Ctrl-C.
|
210
210
|
#
|
211
211
|
# require 'rubygems'
|
212
|
-
#
|
212
|
+
# require 'eventmachine'
|
213
213
|
#
|
214
214
|
# EventMachine::run {
|
215
215
|
# puts "Starting the run now: #{Time.now}"
|
@@ -272,7 +272,7 @@ module EventMachine
|
|
272
272
|
# === Usage example
|
273
273
|
#
|
274
274
|
# require 'rubygems'
|
275
|
-
#
|
275
|
+
# require 'eventmachine'
|
276
276
|
#
|
277
277
|
# module Redmond
|
278
278
|
#
|
@@ -370,7 +370,7 @@ module EventMachine
|
|
370
370
|
# to the start_server call to values appropriate for your environment.
|
371
371
|
#
|
372
372
|
# require 'rubygems'
|
373
|
-
#
|
373
|
+
# require 'eventmachine'
|
374
374
|
#
|
375
375
|
# module LineCounter
|
376
376
|
#
|
@@ -431,7 +431,7 @@ module EventMachine
|
|
431
431
|
# (and incidentally calls the connection's unbind method).
|
432
432
|
#
|
433
433
|
# require 'rubygems'
|
434
|
-
#
|
434
|
+
# require 'eventmachine'
|
435
435
|
#
|
436
436
|
# module DumbHttpClient
|
437
437
|
#
|
metadata
CHANGED