eventmachine 1.0.0.beta.1 → 1.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/Rakefile +7 -298
  2. data/eventmachine.gemspec +1 -1
  3. data/ext/cmain.cpp +0 -14
  4. data/ext/em.cpp +3 -36
  5. data/ext/em.h +2 -13
  6. data/ext/eventmachine.h +0 -1
  7. data/ext/extconf.rb +53 -46
  8. data/ext/project.h +0 -4
  9. data/ext/rubymain.cpp +0 -15
  10. data/lib/em/pure_ruby.rb +3 -2
  11. data/lib/em/version.rb +1 -1
  12. data/lib/eventmachine.rb +2 -0
  13. data/lib/jeventmachine.rb +1 -1
  14. data/tasks/doc.rake +30 -0
  15. data/tasks/package.rake +85 -0
  16. data/tasks/test.rake +6 -0
  17. metadata +6 -35
  18. data/ext/cplusplus.cpp +0 -202
  19. data/ext/emwin.cpp +0 -300
  20. data/ext/emwin.h +0 -94
  21. data/ext/epoll.cpp +0 -26
  22. data/ext/epoll.h +0 -25
  23. data/ext/eventmachine_cpp.h +0 -96
  24. data/ext/files.cpp +0 -94
  25. data/ext/files.h +0 -65
  26. data/ext/sigs.cpp +0 -89
  27. data/ext/sigs.h +0 -32
  28. data/java/src/com/rubyeventmachine/application/Application.java +0 -194
  29. data/java/src/com/rubyeventmachine/application/Connection.java +0 -74
  30. data/java/src/com/rubyeventmachine/application/ConnectionFactory.java +0 -37
  31. data/java/src/com/rubyeventmachine/application/DefaultConnectionFactory.java +0 -46
  32. data/java/src/com/rubyeventmachine/application/PeriodicTimer.java +0 -38
  33. data/java/src/com/rubyeventmachine/application/Timer.java +0 -54
  34. data/java/src/com/rubyeventmachine/tests/ApplicationTest.java +0 -109
  35. data/java/src/com/rubyeventmachine/tests/ConnectTest.java +0 -148
  36. data/java/src/com/rubyeventmachine/tests/EMTest.java +0 -80
  37. data/java/src/com/rubyeventmachine/tests/TestDatagrams.java +0 -53
  38. data/java/src/com/rubyeventmachine/tests/TestServers.java +0 -75
  39. data/java/src/com/rubyeventmachine/tests/TestTimers.java +0 -90
  40. data/lib/evma.rb +0 -32
  41. data/lib/evma/callback.rb +0 -32
  42. data/lib/evma/container.rb +0 -75
  43. data/lib/evma/factory.rb +0 -77
  44. data/lib/evma/protocol.rb +0 -87
  45. data/lib/evma/reactor.rb +0 -48
@@ -1,109 +0,0 @@
1
- /**
2
- * $Id$
3
- *
4
- * Author:: Francis Cianfrocca (gmail: blackhedd)
5
- * Homepage:: http://rubyeventmachine.com
6
- * Date:: 15 Jul 2007
7
- *
8
- * See EventMachine and EventMachine::Connection for documentation and
9
- * usage examples.
10
- *
11
- *
12
- *----------------------------------------------------------------------------
13
- *
14
- * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
15
- * Gmail: blackhedd
16
- *
17
- * This program is free software; you can redistribute it and/or modify
18
- * it under the terms of either: 1) the GNU General Public License
19
- * as published by the Free Software Foundation; either version 2 of the
20
- * License, or (at your option) any later version; or 2) Ruby's License.
21
- *
22
- * See the file COPYING for complete licensing information.
23
- *
24
- *---------------------------------------------------------------------------
25
- *
26
- *
27
- */
28
-
29
-
30
-
31
- package com.rubyeventmachine.tests;
32
-
33
-
34
- import org.junit.After;
35
- import org.junit.AfterClass;
36
- import org.junit.Before;
37
- import org.junit.BeforeClass;
38
- import org.junit.Test;
39
- import org.junit.Assert;
40
- import java.net.*;
41
- import java.io.*;
42
- import java.nio.*;
43
-
44
- import com.rubyeventmachine.*;
45
- import com.rubyeventmachine.application.*;
46
-
47
- public class ApplicationTest {
48
-
49
- @BeforeClass
50
- public static void setUpBeforeClass() throws Exception {
51
- }
52
-
53
- @AfterClass
54
- public static void tearDownAfterClass() throws Exception {
55
- }
56
-
57
- @Before
58
- public void setUp() throws Exception {
59
- }
60
-
61
- @After
62
- public void tearDown() throws Exception {
63
- }
64
-
65
- @Test
66
- public void testRunnableArgument() {
67
- final Application a = new Application();
68
- a.run (new Runnable() {
69
- public void run() {
70
- a.stop();
71
- }
72
- });
73
- }
74
-
75
-
76
-
77
- class F implements ConnectionFactory {
78
- public Connection connection() {
79
- return new Connection() {
80
- public void receiveData (ByteBuffer bb) {
81
- application.stop();
82
- }
83
- };
84
- }
85
-
86
- };
87
-
88
- @Test
89
- public void testTcpServer() throws EmReactorException {
90
- final Application a = new Application();
91
- final SocketAddress saddr = new InetSocketAddress ("127.0.0.1", 9008);
92
- a.run (new Runnable() {
93
- public void run() {
94
- try {
95
- a.startServer (saddr, new F());
96
- } catch (EmReactorException e) { Assert.fail(); }
97
- new Thread() {
98
- public void run() {
99
- try {
100
- Socket s = new Socket ("127.0.0.1", 9008);
101
- s.getOutputStream().write(new String ("boo").getBytes());
102
- } catch (UnknownHostException e) {
103
- } catch (IOException e) {}
104
- }
105
- }.start();
106
- }
107
- });
108
- }
109
- }
@@ -1,148 +0,0 @@
1
- /**
2
- * $Id$
3
- *
4
- * Author:: Francis Cianfrocca (gmail: blackhedd)
5
- * Homepage:: http://rubyeventmachine.com
6
- * Date:: 15 Jul 2007
7
- *
8
- * See EventMachine and EventMachine::Connection for documentation and
9
- * usage examples.
10
- *
11
- *
12
- *----------------------------------------------------------------------------
13
- *
14
- * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
15
- * Gmail: blackhedd
16
- *
17
- * This program is free software; you can redistribute it and/or modify
18
- * it under the terms of either: 1) the GNU General Public License
19
- * as published by the Free Software Foundation; either version 2 of the
20
- * License, or (at your option) any later version; or 2) Ruby's License.
21
- *
22
- * See the file COPYING for complete licensing information.
23
- *
24
- *---------------------------------------------------------------------------
25
- *
26
- *
27
- */
28
-
29
-
30
- package com.rubyeventmachine.tests;
31
-
32
-
33
- import org.junit.After;
34
- import org.junit.AfterClass;
35
- import org.junit.Before;
36
- import org.junit.BeforeClass;
37
- import org.junit.Test;
38
- import java.net.*;
39
- import java.io.*;
40
- import java.nio.*;
41
- import java.nio.channels.*;
42
-
43
- import com.rubyeventmachine.*;
44
- import com.rubyeventmachine.application.*;
45
-
46
- public class ConnectTest {
47
-
48
- @BeforeClass
49
- public static void setUpBeforeClass() throws Exception {
50
- }
51
-
52
- @AfterClass
53
- public static void tearDownAfterClass() throws Exception {
54
- }
55
-
56
- @Before
57
- public void setUp() throws Exception {
58
- }
59
-
60
- @After
61
- public void tearDown() throws Exception {
62
- }
63
-
64
- @Test
65
- public final void test1() throws IOException, ClosedChannelException {
66
- Application a = new Application();
67
- a.addTimer(0, new Timer() {
68
- public void fire() {
69
- application.connect("www.bayshorenetworks.com", 80, new Connection() {
70
- public void connectionCompleted() {
71
- close();
72
- }
73
- public void unbind() {
74
- application.stop();
75
- }
76
- });
77
- }
78
- });
79
- a.run();
80
- }
81
-
82
- @Test
83
- public final void test2() throws IOException {
84
- class Bays extends Connection {
85
- public void connectionCompleted() {
86
- sendData (ByteBuffer.wrap( new String ("GET / HTTP/1.1\r\nHost: _\r\n\r\n").getBytes()));
87
- }
88
- public void receiveData (ByteBuffer b) {
89
- System.out.println (new String(b.array()));
90
- application.stop();
91
- }
92
- };
93
-
94
- Application a = new Application();
95
- a.addTimer(0, new Timer() {
96
- public void fire() {
97
- application.connect("www.bayshorenetworks.com", 80, new Bays());
98
- }
99
- });
100
- a.run();
101
- }
102
-
103
- public final void testBindConnect() throws IOException {
104
- class Server extends Connection {
105
- public void postInit() {
106
- // TODO: get peername here and check if the port is 33333
107
- // doesnt seem like peername is impl yet?
108
- System.out.println("post init!");
109
- }
110
- };
111
-
112
- Application a = new Application();
113
- a.addTimer(0, new Timer() {
114
- public void fire() {
115
- application.startServer(new InetSocketAddress("localhost", 20000), new DefaultConnectionFactory());
116
- }
117
- });
118
- a.addTimer(500, new Timer() {
119
- public void fire() {
120
- application.bindConnect("localhost", 33333, "localhost", 20000, new Connection());
121
- }
122
- });
123
-
124
- a.run();
125
- }
126
-
127
- class C1 extends Connection {
128
- Application application;
129
- public C1 (Application a) {
130
- application = a;
131
- }
132
- public void postInit() {
133
- application.stop();
134
- }
135
- }
136
- @Test
137
- public final void test3() {
138
- final Application a = new Application();
139
- a.run (new Runnable() {
140
- public void run() {
141
- a.connect("www.bayshorenetworks.com", 80, new C1(a));
142
- }
143
- });
144
- }
145
-
146
-
147
-
148
- }
@@ -1,80 +0,0 @@
1
- /**
2
- * $Id$
3
- *
4
- * Author:: Francis Cianfrocca (gmail: blackhedd)
5
- * Homepage:: http://rubyeventmachine.com
6
- * Date:: 15 Jul 2007
7
- *
8
- * See EventMachine and EventMachine::Connection for documentation and
9
- * usage examples.
10
- *
11
- *
12
- *----------------------------------------------------------------------------
13
- *
14
- * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
15
- * Gmail: blackhedd
16
- *
17
- * This program is free software; you can redistribute it and/or modify
18
- * it under the terms of either: 1) the GNU General Public License
19
- * as published by the Free Software Foundation; either version 2 of the
20
- * License, or (at your option) any later version; or 2) Ruby's License.
21
- *
22
- * See the file COPYING for complete licensing information.
23
- *
24
- *---------------------------------------------------------------------------
25
- *
26
- *
27
- */
28
-
29
-
30
- package com.rubyeventmachine.tests;
31
-
32
- //import static org.junit.Assert.*;
33
-
34
- import org.junit.After;
35
- import org.junit.AfterClass;
36
- import org.junit.Before;
37
- import org.junit.BeforeClass;
38
- import org.junit.Test;
39
-
40
- import com.rubyeventmachine.EmReactor;
41
-
42
- import java.io.*;
43
- import java.nio.*;
44
-
45
-
46
- public class EMTest {
47
-
48
- class ShortTimer extends EmReactor {
49
- public void eventCallback (String sig, int eventCode, ByteBuffer data) {
50
- System.out.println ("Short Callback "+sig+" "+eventCode+" "+data);
51
- this.stop();
52
- }
53
- }
54
-
55
- @BeforeClass
56
- public static void setUpBeforeClass() throws Exception {
57
- }
58
-
59
- @AfterClass
60
- public static void tearDownAfterClass() throws Exception {
61
- }
62
-
63
- @Before
64
- public void setUp() throws Exception {
65
- }
66
-
67
- @After
68
- public void tearDown() throws Exception {
69
- }
70
-
71
-
72
- @Test
73
- public final void testOneShort() throws IOException {
74
- EmReactor em = new ShortTimer();
75
- em.installOneshotTimer(1050);
76
- em.run();
77
- }
78
-
79
-
80
- }
@@ -1,53 +0,0 @@
1
- package com.rubyeventmachine.tests;
2
-
3
- import com.rubyeventmachine.application.*;
4
- import java.net.*;
5
- import java.nio.*;
6
-
7
- import org.junit.After;
8
- import org.junit.AfterClass;
9
- import org.junit.Before;
10
- import org.junit.BeforeClass;
11
- import org.junit.Test;
12
-
13
-
14
- public class TestDatagrams {
15
-
16
- @BeforeClass
17
- public static void setUpBeforeClass() throws Exception {
18
- }
19
-
20
- @AfterClass
21
- public static void tearDownAfterClass() throws Exception {
22
- }
23
-
24
- @Before
25
- public void setUp() throws Exception {
26
- }
27
-
28
- @After
29
- public void tearDown() throws Exception {
30
- }
31
-
32
- class A extends Connection {
33
- public void receiveData (ByteBuffer bb) {
34
- application.stop();
35
- }
36
- }
37
- class B extends Connection {
38
- public void postInit() {
39
- this.sendDatagram(ByteBuffer.wrap(new String("ABC").getBytes()), new InetSocketAddress ("127.0.0.1", 9550));
40
- }
41
-
42
- }
43
- @Test
44
- public final void testA() {
45
- final Application a = new Application();
46
- a.run (new Runnable() {
47
- public void run() {
48
- a.openDatagramSocket( new InetSocketAddress ("0.0.0.0", 9550), new A() );
49
- a.openDatagramSocket( new B() );
50
- }
51
- });
52
- }
53
- }
@@ -1,75 +0,0 @@
1
- /**
2
- * $Id$
3
- *
4
- * Author:: Francis Cianfrocca (gmail: blackhedd)
5
- * Homepage:: http://rubyeventmachine.com
6
- * Date:: 15 Jul 2007
7
- *
8
- * See EventMachine and EventMachine::Connection for documentation and
9
- * usage examples.
10
- *
11
- *
12
- *----------------------------------------------------------------------------
13
- *
14
- * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
15
- * Gmail: blackhedd
16
- *
17
- * This program is free software; you can redistribute it and/or modify
18
- * it under the terms of either: 1) the GNU General Public License
19
- * as published by the Free Software Foundation; either version 2 of the
20
- * License, or (at your option) any later version; or 2) Ruby's License.
21
- *
22
- * See the file COPYING for complete licensing information.
23
- *
24
- *---------------------------------------------------------------------------
25
- *
26
- *
27
- */
28
-
29
-
30
- package com.rubyeventmachine.tests;
31
-
32
-
33
- import com.rubyeventmachine.*;
34
- import com.rubyeventmachine.application.*;
35
- import java.net.*;
36
- import org.junit.After;
37
- import org.junit.AfterClass;
38
- import org.junit.Before;
39
- import org.junit.BeforeClass;
40
- import org.junit.Test;
41
- import org.junit.Assert;
42
-
43
- public class TestServers {
44
-
45
- @BeforeClass
46
- public static void setUpBeforeClass() throws Exception {
47
- }
48
-
49
- @AfterClass
50
- public static void tearDownAfterClass() throws Exception {
51
- }
52
-
53
- @Before
54
- public void setUp() throws Exception {
55
- }
56
-
57
- @After
58
- public void tearDown() throws Exception {
59
- }
60
-
61
-
62
- @Test
63
- public void testBadServerAddress() {
64
- final Application a = new Application();
65
- a.run (new Runnable() {
66
- public void run() {
67
- try {
68
- a.startServer(new InetSocketAddress ("100.100.100.100", 100), new DefaultConnectionFactory());
69
- Assert.fail ("was supposed to throw a reactor exception");
70
- } catch (EmReactorException e) {}
71
- a.stop();
72
- }
73
- });
74
- }
75
- }