jretlang 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/Rakefile +33 -0
- data/VERSION +1 -0
- data/changelog +29 -0
- data/jretlang.gemspec +154 -0
- data/lib/jretlang/channel.rb +35 -0
- data/lib/jretlang/fiber.rb +15 -0
- data/lib/jretlang/latch.rb +10 -0
- data/lib/jretlang.rb +22 -0
- data/readme +1 -0
- data/test/unit/test_examples.rb +142 -0
- data/test/unit/unit_test_helper.rb +6 -0
- data/vendor/jetlang-0.2.0/jetlang-0.2.0-sources.jar +0 -0
- data/vendor/jetlang-0.2.0/site/apidocs/allclasses-frame.html +106 -0
- data/vendor/jetlang-0.2.0/site/apidocs/allclasses-noframe.html +106 -0
- data/vendor/jetlang-0.2.0/site/apidocs/constant-values.html +147 -0
- data/vendor/jetlang-0.2.0/site/apidocs/deprecated-list.html +147 -0
- data/vendor/jetlang-0.2.0/site/apidocs/help-doc.html +224 -0
- data/vendor/jetlang-0.2.0/site/apidocs/index-all.html +677 -0
- data/vendor/jetlang-0.2.0/site/apidocs/index.html +40 -0
- data/vendor/jetlang-0.2.0/site/apidocs/options +19 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/AsyncRequest.html +376 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/BaseSubscription.html +332 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/BatchSubscriber.html +303 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Channel.html +207 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/ChannelSubscription.html +295 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Converter.html +211 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/KeyedBatchSubscriber.html +307 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/LastSubscriber.html +304 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/MemoryChannel.html +391 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/MemoryRequestChannel.html +319 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Publisher.html +219 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Request.html +251 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/RequestChannel.html +264 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Session.html +173 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/SessionClosed.html +230 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Subscribable.html +230 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Subscriber.html +243 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/SubscriberList.html +334 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/AsyncRequest.html +191 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/BaseSubscription.html +205 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/BatchSubscriber.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Channel.html +181 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/ChannelSubscription.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Converter.html +194 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/KeyedBatchSubscriber.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/LastSubscriber.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/MemoryChannel.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/MemoryRequestChannel.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Publisher.html +197 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Request.html +211 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/RequestChannel.html +240 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Session.html +189 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/SessionClosed.html +193 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Subscribable.html +237 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Subscriber.html +197 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/SubscriberList.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-frame.html +76 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-summary.html +245 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-tree.html +172 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-use.html +237 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/BatchExecutor.html +219 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/BatchExecutorImpl.html +267 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Callback.html +217 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Disposable.html +219 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/DisposingExecutor.html +286 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/EventBuffer.html +352 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/EventReader.html +234 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Filter.html +216 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableBlockingQueue.html +337 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableExecutor.html +225 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableExecutorImpl.html +404 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Scheduler.html +280 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SchedulerImpl.html +354 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SynchronousDisposingExecutor.html +391 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SynchronousExecutor.html +307 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/BatchExecutor.html +224 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/BatchExecutorImpl.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Callback.html +499 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Disposable.html +669 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/DisposingExecutor.html +440 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/EventBuffer.html +197 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/EventReader.html +206 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Filter.html +219 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableBlockingQueue.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableExecutor.html +218 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableExecutorImpl.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Scheduler.html +235 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SchedulerImpl.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SynchronousDisposingExecutor.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SynchronousExecutor.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-frame.html +70 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-summary.html +226 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-tree.html +176 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-use.html +289 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/Fiber.html +266 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/FiberStub.ScheduledEvent.html +419 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/FiberStub.html +599 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/PoolFiberFactory.html +321 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/ThreadFiber.html +525 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/Fiber.html +346 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/FiberStub.ScheduledEvent.html +181 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/FiberStub.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/PoolFiberFactory.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/ThreadFiber.html +145 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-frame.html +50 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-summary.html +185 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-tree.html +172 -0
- data/vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-use.html +198 -0
- data/vendor/jetlang-0.2.0/site/apidocs/overview-frame.html +47 -0
- data/vendor/jetlang-0.2.0/site/apidocs/overview-summary.html +165 -0
- data/vendor/jetlang-0.2.0/site/apidocs/overview-tree.html +198 -0
- data/vendor/jetlang-0.2.0/site/apidocs/package-list +3 -0
- data/vendor/jetlang-0.2.0/site/apidocs/packages +3 -0
- data/vendor/jetlang-0.2.0/site/apidocs/resources/inherit.gif +0 -0
- data/vendor/jetlang-0.2.0/site/apidocs/stylesheet.css +29 -0
- data/vendor/jetlang-0.2.0.jar +0 -0
- metadata +172 -0
data/.gitignore
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'ftools'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'jeweler'
|
6
|
+
include FileUtils
|
7
|
+
|
8
|
+
task :default => :test
|
9
|
+
|
10
|
+
Jeweler::Tasks.new do |gemspec|
|
11
|
+
gemspec.name = "jretlang"
|
12
|
+
gemspec.summary = "A JRuby package of jretlang"
|
13
|
+
gemspec.description = gemspec.summary
|
14
|
+
gemspec.email = "reevesg@pobox.com"
|
15
|
+
gemspec.homepage = "http://github.com/reevesg/jretlang"
|
16
|
+
gemspec.authors = ["Gareth Reeves"]
|
17
|
+
gemspec.rubyforge_project = "jretlang"
|
18
|
+
end
|
19
|
+
|
20
|
+
Jeweler::RubyforgeTasks.new do |rubyforge|
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
Rake::TestTask.new do |t|
|
25
|
+
t.libs << "test/unit"
|
26
|
+
t.test_files = FileList['test/unit/**/test*.rb']
|
27
|
+
end
|
28
|
+
|
29
|
+
desc "Update the change log."
|
30
|
+
task :change_log do
|
31
|
+
%x[git log --pretty=short --grep=release > changelog]
|
32
|
+
%x[git commit changelog --amend --reuse-message HEAD]
|
33
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.2.2
|
data/changelog
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
commit da32dcd9da5cf9c8e3a7edc76465d032e5ca433d
|
2
|
+
Author: Gareth Reeves <greeves@drwholdings.com>
|
3
|
+
|
4
|
+
in this release (0.2.2)
|
5
|
+
-improved schedule method names on Fiber
|
6
|
+
|
7
|
+
commit e6d7e3a6fb4a52ee89876fecfd65f9ef2a46b711
|
8
|
+
Author: Gareth Reeves <greeves@drwholdings.com>
|
9
|
+
|
10
|
+
in this release (0.2.1)
|
11
|
+
- fixed gem problems (hopefully)
|
12
|
+
|
13
|
+
commit ab615acde9742dac47104a42b5a6b92c7c308272
|
14
|
+
Author: Gareth Reeves <greeves@drwholdings.com>
|
15
|
+
|
16
|
+
in this release (0.2.0)
|
17
|
+
- wrapped channel and fiber to give them more of a ruby like interface
|
18
|
+
|
19
|
+
commit db7b77419317c18c664c4fe0858307ab646a2762
|
20
|
+
Author: Gareth Reeves <greeves@drwholdings.com>
|
21
|
+
|
22
|
+
in this release (0.1.2)
|
23
|
+
- nothing, trying gem build
|
24
|
+
|
25
|
+
commit a85424f26dd0af757a78dc4c066fc0eb328cc377
|
26
|
+
Author: Gareth Reeves <greeves@drwholdings.com>
|
27
|
+
|
28
|
+
in this release (0.1.1)
|
29
|
+
- everything (is the first release)
|
data/jretlang.gemspec
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{jretlang}
|
8
|
+
s.version = "0.2.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Gareth Reeves"]
|
12
|
+
s.date = %q{2009-10-16}
|
13
|
+
s.description = %q{A JRuby package of jretlang}
|
14
|
+
s.email = %q{reevesg@pobox.com}
|
15
|
+
s.files = [
|
16
|
+
".gitignore",
|
17
|
+
"Rakefile",
|
18
|
+
"VERSION",
|
19
|
+
"changelog",
|
20
|
+
"jretlang.gemspec",
|
21
|
+
"lib/jretlang.rb",
|
22
|
+
"lib/jretlang/channel.rb",
|
23
|
+
"lib/jretlang/fiber.rb",
|
24
|
+
"lib/jretlang/latch.rb",
|
25
|
+
"readme",
|
26
|
+
"test/unit/test_examples.rb",
|
27
|
+
"test/unit/unit_test_helper.rb",
|
28
|
+
"vendor/jetlang-0.2.0.jar",
|
29
|
+
"vendor/jetlang-0.2.0/jetlang-0.2.0-sources.jar",
|
30
|
+
"vendor/jetlang-0.2.0/site/apidocs/allclasses-frame.html",
|
31
|
+
"vendor/jetlang-0.2.0/site/apidocs/allclasses-noframe.html",
|
32
|
+
"vendor/jetlang-0.2.0/site/apidocs/constant-values.html",
|
33
|
+
"vendor/jetlang-0.2.0/site/apidocs/deprecated-list.html",
|
34
|
+
"vendor/jetlang-0.2.0/site/apidocs/help-doc.html",
|
35
|
+
"vendor/jetlang-0.2.0/site/apidocs/index-all.html",
|
36
|
+
"vendor/jetlang-0.2.0/site/apidocs/index.html",
|
37
|
+
"vendor/jetlang-0.2.0/site/apidocs/options",
|
38
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/AsyncRequest.html",
|
39
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/BaseSubscription.html",
|
40
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/BatchSubscriber.html",
|
41
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Channel.html",
|
42
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/ChannelSubscription.html",
|
43
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Converter.html",
|
44
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/KeyedBatchSubscriber.html",
|
45
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/LastSubscriber.html",
|
46
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/MemoryChannel.html",
|
47
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/MemoryRequestChannel.html",
|
48
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Publisher.html",
|
49
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Request.html",
|
50
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/RequestChannel.html",
|
51
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Session.html",
|
52
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/SessionClosed.html",
|
53
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Subscribable.html",
|
54
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/Subscriber.html",
|
55
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/SubscriberList.html",
|
56
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/AsyncRequest.html",
|
57
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/BaseSubscription.html",
|
58
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/BatchSubscriber.html",
|
59
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Channel.html",
|
60
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/ChannelSubscription.html",
|
61
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Converter.html",
|
62
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/KeyedBatchSubscriber.html",
|
63
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/LastSubscriber.html",
|
64
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/MemoryChannel.html",
|
65
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/MemoryRequestChannel.html",
|
66
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Publisher.html",
|
67
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Request.html",
|
68
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/RequestChannel.html",
|
69
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Session.html",
|
70
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/SessionClosed.html",
|
71
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Subscribable.html",
|
72
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/Subscriber.html",
|
73
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/class-use/SubscriberList.html",
|
74
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-frame.html",
|
75
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-summary.html",
|
76
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-tree.html",
|
77
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/channels/package-use.html",
|
78
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/BatchExecutor.html",
|
79
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/BatchExecutorImpl.html",
|
80
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Callback.html",
|
81
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Disposable.html",
|
82
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/DisposingExecutor.html",
|
83
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/EventBuffer.html",
|
84
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/EventReader.html",
|
85
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Filter.html",
|
86
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableBlockingQueue.html",
|
87
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableExecutor.html",
|
88
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/RunnableExecutorImpl.html",
|
89
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/Scheduler.html",
|
90
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SchedulerImpl.html",
|
91
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SynchronousDisposingExecutor.html",
|
92
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/SynchronousExecutor.html",
|
93
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/BatchExecutor.html",
|
94
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/BatchExecutorImpl.html",
|
95
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Callback.html",
|
96
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Disposable.html",
|
97
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/DisposingExecutor.html",
|
98
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/EventBuffer.html",
|
99
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/EventReader.html",
|
100
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Filter.html",
|
101
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableBlockingQueue.html",
|
102
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableExecutor.html",
|
103
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/RunnableExecutorImpl.html",
|
104
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/Scheduler.html",
|
105
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SchedulerImpl.html",
|
106
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SynchronousDisposingExecutor.html",
|
107
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/class-use/SynchronousExecutor.html",
|
108
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-frame.html",
|
109
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-summary.html",
|
110
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-tree.html",
|
111
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/core/package-use.html",
|
112
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/Fiber.html",
|
113
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/FiberStub.ScheduledEvent.html",
|
114
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/FiberStub.html",
|
115
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/PoolFiberFactory.html",
|
116
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/ThreadFiber.html",
|
117
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/Fiber.html",
|
118
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/FiberStub.ScheduledEvent.html",
|
119
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/FiberStub.html",
|
120
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/PoolFiberFactory.html",
|
121
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/class-use/ThreadFiber.html",
|
122
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-frame.html",
|
123
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-summary.html",
|
124
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-tree.html",
|
125
|
+
"vendor/jetlang-0.2.0/site/apidocs/org/jetlang/fibers/package-use.html",
|
126
|
+
"vendor/jetlang-0.2.0/site/apidocs/overview-frame.html",
|
127
|
+
"vendor/jetlang-0.2.0/site/apidocs/overview-summary.html",
|
128
|
+
"vendor/jetlang-0.2.0/site/apidocs/overview-tree.html",
|
129
|
+
"vendor/jetlang-0.2.0/site/apidocs/package-list",
|
130
|
+
"vendor/jetlang-0.2.0/site/apidocs/packages",
|
131
|
+
"vendor/jetlang-0.2.0/site/apidocs/resources/inherit.gif",
|
132
|
+
"vendor/jetlang-0.2.0/site/apidocs/stylesheet.css"
|
133
|
+
]
|
134
|
+
s.homepage = %q{http://github.com/reevesg/jretlang}
|
135
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
136
|
+
s.require_paths = ["lib"]
|
137
|
+
s.rubyforge_project = %q{jretlang}
|
138
|
+
s.rubygems_version = %q{1.3.5}
|
139
|
+
s.summary = %q{A JRuby package of jretlang}
|
140
|
+
s.test_files = [
|
141
|
+
"test/unit/test_examples.rb",
|
142
|
+
"test/unit/unit_test_helper.rb"
|
143
|
+
]
|
144
|
+
|
145
|
+
if s.respond_to? :specification_version then
|
146
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
147
|
+
s.specification_version = 3
|
148
|
+
|
149
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
150
|
+
else
|
151
|
+
end
|
152
|
+
else
|
153
|
+
end
|
154
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class JRL::Channel < SimpleDelegator
|
2
|
+
def initialize
|
3
|
+
@mc = JRL::Channels::MemoryChannel.new
|
4
|
+
super( @mc )
|
5
|
+
end
|
6
|
+
|
7
|
+
def subscribe_on_fiber( fiber, &block )
|
8
|
+
@mc.subscribe( strip_delegate( fiber ), &block )
|
9
|
+
end
|
10
|
+
|
11
|
+
def subscribe_on_fiber_with_filter( fiber, filter_lambda, &block )
|
12
|
+
subscription = JRL::Channels::ChannelSubscription.new( strip_delegate( fiber ), block, filter_lambda )
|
13
|
+
@mc.subscribe( subscription )
|
14
|
+
end
|
15
|
+
|
16
|
+
def subscribe_on_fiber_with_batch( fiber, time, time_unit=JRL::Concurrent::TimeUnit::SECONDS, &block )
|
17
|
+
batch = JRL::Channels::BatchSubscriber.new( strip_delegate( fiber ), block, time, time_unit )
|
18
|
+
@mc.subscribe( batch )
|
19
|
+
end
|
20
|
+
|
21
|
+
def subscribe_on_fiber_with_batch_and_key( fiber, key_lambda, time, time_unit=JRL::Concurrent::TimeUnit::SECONDS, &block )
|
22
|
+
batch = JRL::Channels::KeyedBatchSubscriber.new( strip_delegate( fiber ), block, time, time_unit, key_lambda )
|
23
|
+
@mc.subscribe( batch )
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def strip_delegate( fiber )
|
28
|
+
case fiber
|
29
|
+
when JRL::Fiber
|
30
|
+
fiber.__getobj__
|
31
|
+
else
|
32
|
+
fiber
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class JRL::Fiber < SimpleDelegator
|
2
|
+
def initialize
|
3
|
+
@f = JRL::Fibers::ThreadFiber.new
|
4
|
+
super( @f )
|
5
|
+
end
|
6
|
+
|
7
|
+
def schedule_one_time( delay, time_unit=JRL::Concurrent::TimeUnit::SECONDS, &block )
|
8
|
+
@f.schedule( block, delay, time_unit )
|
9
|
+
end
|
10
|
+
|
11
|
+
def schedule_repeating( delay, interval, time_unit=JRL::Concurrent::TimeUnit::SECONDS, &block )
|
12
|
+
@f.schedule_with_fixed_delay( block, delay, interval, time_unit )
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
data/lib/jretlang.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'delegate'
|
3
|
+
|
4
|
+
require File.join( File.dirname(__FILE__), "..", "vendor", "jetlang-0.2.0.jar" )
|
5
|
+
|
6
|
+
module JRL
|
7
|
+
include_package 'org.jetlang.core'
|
8
|
+
|
9
|
+
module Channels
|
10
|
+
include_package 'org.jetlang.channels'
|
11
|
+
end
|
12
|
+
module Fibers
|
13
|
+
include_package 'org.jetlang.fibers'
|
14
|
+
end
|
15
|
+
module Concurrent
|
16
|
+
include_package 'java.util.concurrent'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'jretlang/latch'
|
21
|
+
require 'jretlang/channel'
|
22
|
+
require 'jretlang/fiber'
|
data/readme
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
jretlang is a packaging and thin wrapping of jetlang. Thats it.
|
@@ -0,0 +1,142 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/unit_test_helper'
|
2
|
+
|
3
|
+
class TestChannel < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@fiber = JRL::Fiber.new
|
6
|
+
@channel = JRL::Channel.new
|
7
|
+
@fiber.start
|
8
|
+
end
|
9
|
+
|
10
|
+
def latch( count )
|
11
|
+
JRL::Concurrent::Latch.new( count )
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
@fiber.dispose
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_pub_sub
|
19
|
+
l = latch( 1 )
|
20
|
+
|
21
|
+
result = nil
|
22
|
+
@channel.subscribe_on_fiber( @fiber ) { |msg| result = msg; l.count_down }
|
23
|
+
@channel.publish "Hello"
|
24
|
+
|
25
|
+
assert l.await( 1 )
|
26
|
+
assert_equal "Hello", result
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_pub_sub_with_thread_pool
|
30
|
+
service = JRL::Concurrent::Executors.newCachedThreadPool();
|
31
|
+
fact = JRL::Fibers::PoolFiberFactory.new(service);
|
32
|
+
fiber_from_fact = fact.create
|
33
|
+
fiber_from_fact.start
|
34
|
+
l = latch( 1 )
|
35
|
+
|
36
|
+
result = nil
|
37
|
+
@channel.subscribe_on_fiber( fiber_from_fact ) { |msg| result = msg; l.count_down }
|
38
|
+
@channel.publish "Hello"
|
39
|
+
|
40
|
+
l.await( 1.5 )
|
41
|
+
assert_equal "Hello", result
|
42
|
+
|
43
|
+
fact.dispose
|
44
|
+
fiber_from_fact.dispose
|
45
|
+
service.shutdown
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_fiber_schedule
|
49
|
+
l = latch( 1 )
|
50
|
+
@fiber.schedule_one_time( 0.01 ) { l.count_down }
|
51
|
+
assert l.await( 1 )
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_fiber_schedule_recurring
|
55
|
+
l = latch( 5 )
|
56
|
+
@fiber.schedule_repeating( 1, 2, JRL::Concurrent::TimeUnit::MILLISECONDS ) { l.count_down }
|
57
|
+
assert l.await( 1 )
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_unsubscribe
|
61
|
+
l1 = latch( 1 )
|
62
|
+
l2 = latch( 2 )
|
63
|
+
unsub = @channel.subscribe_on_fiber( @fiber ) { |msg| l1.count_down; l2.count_down }
|
64
|
+
|
65
|
+
@channel.publish( "one" )
|
66
|
+
assert l1.await( 5 )
|
67
|
+
unsub.dispose
|
68
|
+
@channel.publish( "two" )
|
69
|
+
assert !l2.await( 0.01 )
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_pub_sub_with_filter
|
73
|
+
l = latch( 2 )
|
74
|
+
results = []
|
75
|
+
filter = lambda { |msg| msg % 2 == 0 }
|
76
|
+
|
77
|
+
@channel.subscribe_on_fiber_with_filter( @fiber, filter ) { |msg| results << msg; l.count_down }
|
78
|
+
4.times{ |i| @channel.publish( i ) }
|
79
|
+
|
80
|
+
assert l.await( 1 )
|
81
|
+
assert_equal [0,2], results
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_batching
|
85
|
+
l = latch( 10 )
|
86
|
+
total_msgs = 0
|
87
|
+
batches = []
|
88
|
+
@channel.subscribe_on_fiber_with_batch( @fiber, 0 ) do |msg|
|
89
|
+
batches << msg
|
90
|
+
total_msgs += msg.size
|
91
|
+
msg.size.times{ l.count_down }
|
92
|
+
end
|
93
|
+
|
94
|
+
10.times{ |i| @channel.publish( i ) }
|
95
|
+
|
96
|
+
assert l.await( 1 )
|
97
|
+
assert 10 > batches.size
|
98
|
+
assert_equal 10, total_msgs
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_batching_with_key
|
102
|
+
l = latch( 9 )
|
103
|
+
total_msgs = 0
|
104
|
+
batches = []
|
105
|
+
key_resolver = lambda { |msg| msg.to_s }
|
106
|
+
@channel.subscribe_on_fiber_with_batch_and_key( @fiber, key_resolver, 0 ) do |msg|
|
107
|
+
batches << msg
|
108
|
+
total_msgs += msg.size
|
109
|
+
msg.size.times{ l.count_down }
|
110
|
+
end
|
111
|
+
|
112
|
+
[0,1,2,3,4,5,6,7,8,8].each{ |i| @channel.publish( i ) }
|
113
|
+
|
114
|
+
assert 9 > batches.size
|
115
|
+
assert l.await( 1 )
|
116
|
+
assert_equal 9, total_msgs
|
117
|
+
end
|
118
|
+
|
119
|
+
def test_simple_request_response
|
120
|
+
reply_fiber = JRL::Fibers::ThreadFiber.new
|
121
|
+
reply_fiber.start
|
122
|
+
request_channel = JRL::Channels::MemoryRequestChannel.new
|
123
|
+
l = latch( 1 )
|
124
|
+
|
125
|
+
request_channel.subscribe( reply_fiber ) { |msg| assert_equal 'hello', msg.get_request; msg.reply( 1 ) }
|
126
|
+
|
127
|
+
response_callback = lambda { |msg| assert_equal 1, msg; l.count_down }
|
128
|
+
|
129
|
+
JRL::Channels::AsyncRequest.with_one_reply( @fiber.__getobj__, request_channel, 'hello', response_callback )
|
130
|
+
assert l.await( 1 )
|
131
|
+
|
132
|
+
reply_fiber.dispose
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_request_reply_blocking
|
136
|
+
reply_queue = JRL::Concurrent::ArrayBlockingQueue.new( 1 )
|
137
|
+
@channel.subscribe_on_fiber( @fiber ) { |queue| queue.put( 'hello' ) }
|
138
|
+
@channel.publish( reply_queue )
|
139
|
+
|
140
|
+
assert_equal "hello", reply_queue.poll( 1, JRL::Concurrent::TimeUnit::SECONDS )
|
141
|
+
end
|
142
|
+
end
|
Binary file
|
@@ -0,0 +1,106 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
+
<!--NewPage-->
|
3
|
+
<HTML>
|
4
|
+
<HEAD>
|
5
|
+
<!-- Generated by javadoc (build 1.6.0_15) on Sat Sep 05 11:49:22 CDT 2009 -->
|
6
|
+
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
7
|
+
<TITLE>
|
8
|
+
All Classes (Jetlang 0.2.0 API)
|
9
|
+
</TITLE>
|
10
|
+
|
11
|
+
<META NAME="date" CONTENT="2009-09-05">
|
12
|
+
|
13
|
+
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
|
14
|
+
|
15
|
+
|
16
|
+
</HEAD>
|
17
|
+
|
18
|
+
<BODY BGCOLOR="white">
|
19
|
+
<FONT size="+1" CLASS="FrameHeadingFont">
|
20
|
+
<B>All Classes</B></FONT>
|
21
|
+
<BR>
|
22
|
+
|
23
|
+
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
|
24
|
+
<TR>
|
25
|
+
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/jetlang/channels/AsyncRequest.html" title="class in org.jetlang.channels" target="classFrame">AsyncRequest</A>
|
26
|
+
<BR>
|
27
|
+
<A HREF="org/jetlang/channels/BaseSubscription.html" title="class in org.jetlang.channels" target="classFrame">BaseSubscription</A>
|
28
|
+
<BR>
|
29
|
+
<A HREF="org/jetlang/core/BatchExecutor.html" title="interface in org.jetlang.core" target="classFrame"><I>BatchExecutor</I></A>
|
30
|
+
<BR>
|
31
|
+
<A HREF="org/jetlang/core/BatchExecutorImpl.html" title="class in org.jetlang.core" target="classFrame">BatchExecutorImpl</A>
|
32
|
+
<BR>
|
33
|
+
<A HREF="org/jetlang/channels/BatchSubscriber.html" title="class in org.jetlang.channels" target="classFrame">BatchSubscriber</A>
|
34
|
+
<BR>
|
35
|
+
<A HREF="org/jetlang/core/Callback.html" title="interface in org.jetlang.core" target="classFrame"><I>Callback</I></A>
|
36
|
+
<BR>
|
37
|
+
<A HREF="org/jetlang/channels/Channel.html" title="interface in org.jetlang.channels" target="classFrame"><I>Channel</I></A>
|
38
|
+
<BR>
|
39
|
+
<A HREF="org/jetlang/channels/ChannelSubscription.html" title="class in org.jetlang.channels" target="classFrame">ChannelSubscription</A>
|
40
|
+
<BR>
|
41
|
+
<A HREF="org/jetlang/channels/Converter.html" title="interface in org.jetlang.channels" target="classFrame"><I>Converter</I></A>
|
42
|
+
<BR>
|
43
|
+
<A HREF="org/jetlang/core/Disposable.html" title="interface in org.jetlang.core" target="classFrame"><I>Disposable</I></A>
|
44
|
+
<BR>
|
45
|
+
<A HREF="org/jetlang/core/DisposingExecutor.html" title="interface in org.jetlang.core" target="classFrame"><I>DisposingExecutor</I></A>
|
46
|
+
<BR>
|
47
|
+
<A HREF="org/jetlang/core/EventBuffer.html" title="class in org.jetlang.core" target="classFrame">EventBuffer</A>
|
48
|
+
<BR>
|
49
|
+
<A HREF="org/jetlang/core/EventReader.html" title="interface in org.jetlang.core" target="classFrame"><I>EventReader</I></A>
|
50
|
+
<BR>
|
51
|
+
<A HREF="org/jetlang/fibers/Fiber.html" title="interface in org.jetlang.fibers" target="classFrame"><I>Fiber</I></A>
|
52
|
+
<BR>
|
53
|
+
<A HREF="org/jetlang/fibers/FiberStub.html" title="class in org.jetlang.fibers" target="classFrame">FiberStub</A>
|
54
|
+
<BR>
|
55
|
+
<A HREF="org/jetlang/fibers/FiberStub.ScheduledEvent.html" title="class in org.jetlang.fibers" target="classFrame">FiberStub.ScheduledEvent</A>
|
56
|
+
<BR>
|
57
|
+
<A HREF="org/jetlang/core/Filter.html" title="interface in org.jetlang.core" target="classFrame"><I>Filter</I></A>
|
58
|
+
<BR>
|
59
|
+
<A HREF="org/jetlang/channels/KeyedBatchSubscriber.html" title="class in org.jetlang.channels" target="classFrame">KeyedBatchSubscriber</A>
|
60
|
+
<BR>
|
61
|
+
<A HREF="org/jetlang/channels/LastSubscriber.html" title="class in org.jetlang.channels" target="classFrame">LastSubscriber</A>
|
62
|
+
<BR>
|
63
|
+
<A HREF="org/jetlang/channels/MemoryChannel.html" title="class in org.jetlang.channels" target="classFrame">MemoryChannel</A>
|
64
|
+
<BR>
|
65
|
+
<A HREF="org/jetlang/channels/MemoryRequestChannel.html" title="class in org.jetlang.channels" target="classFrame">MemoryRequestChannel</A>
|
66
|
+
<BR>
|
67
|
+
<A HREF="org/jetlang/fibers/PoolFiberFactory.html" title="class in org.jetlang.fibers" target="classFrame">PoolFiberFactory</A>
|
68
|
+
<BR>
|
69
|
+
<A HREF="org/jetlang/channels/Publisher.html" title="interface in org.jetlang.channels" target="classFrame"><I>Publisher</I></A>
|
70
|
+
<BR>
|
71
|
+
<A HREF="org/jetlang/channels/Request.html" title="interface in org.jetlang.channels" target="classFrame"><I>Request</I></A>
|
72
|
+
<BR>
|
73
|
+
<A HREF="org/jetlang/channels/RequestChannel.html" title="interface in org.jetlang.channels" target="classFrame"><I>RequestChannel</I></A>
|
74
|
+
<BR>
|
75
|
+
<A HREF="org/jetlang/core/RunnableBlockingQueue.html" title="class in org.jetlang.core" target="classFrame">RunnableBlockingQueue</A>
|
76
|
+
<BR>
|
77
|
+
<A HREF="org/jetlang/core/RunnableExecutor.html" title="interface in org.jetlang.core" target="classFrame"><I>RunnableExecutor</I></A>
|
78
|
+
<BR>
|
79
|
+
<A HREF="org/jetlang/core/RunnableExecutorImpl.html" title="class in org.jetlang.core" target="classFrame">RunnableExecutorImpl</A>
|
80
|
+
<BR>
|
81
|
+
<A HREF="org/jetlang/core/Scheduler.html" title="interface in org.jetlang.core" target="classFrame"><I>Scheduler</I></A>
|
82
|
+
<BR>
|
83
|
+
<A HREF="org/jetlang/core/SchedulerImpl.html" title="class in org.jetlang.core" target="classFrame">SchedulerImpl</A>
|
84
|
+
<BR>
|
85
|
+
<A HREF="org/jetlang/channels/Session.html" title="interface in org.jetlang.channels" target="classFrame"><I>Session</I></A>
|
86
|
+
<BR>
|
87
|
+
<A HREF="org/jetlang/channels/SessionClosed.html" title="interface in org.jetlang.channels" target="classFrame"><I>SessionClosed</I></A>
|
88
|
+
<BR>
|
89
|
+
<A HREF="org/jetlang/channels/Subscribable.html" title="interface in org.jetlang.channels" target="classFrame"><I>Subscribable</I></A>
|
90
|
+
<BR>
|
91
|
+
<A HREF="org/jetlang/channels/Subscriber.html" title="interface in org.jetlang.channels" target="classFrame"><I>Subscriber</I></A>
|
92
|
+
<BR>
|
93
|
+
<A HREF="org/jetlang/channels/SubscriberList.html" title="class in org.jetlang.channels" target="classFrame">SubscriberList</A>
|
94
|
+
<BR>
|
95
|
+
<A HREF="org/jetlang/core/SynchronousDisposingExecutor.html" title="class in org.jetlang.core" target="classFrame">SynchronousDisposingExecutor</A>
|
96
|
+
<BR>
|
97
|
+
<A HREF="org/jetlang/core/SynchronousExecutor.html" title="class in org.jetlang.core" target="classFrame">SynchronousExecutor</A>
|
98
|
+
<BR>
|
99
|
+
<A HREF="org/jetlang/fibers/ThreadFiber.html" title="class in org.jetlang.fibers" target="classFrame">ThreadFiber</A>
|
100
|
+
<BR>
|
101
|
+
</FONT></TD>
|
102
|
+
</TR>
|
103
|
+
</TABLE>
|
104
|
+
|
105
|
+
</BODY>
|
106
|
+
</HTML>
|