higgs 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +28 -1
- data/Rakefile +80 -0
- data/bin/higgs_apply_jlog +1 -1
- data/bin/higgs_backup +1 -1
- data/bin/higgs_dump_index +1 -1
- data/bin/higgs_dump_jlog +1 -1
- data/bin/higgs_ping +1 -1
- data/bin/higgs_verify +1 -1
- data/{LICENSE → lib/LICENSE} +1 -1
- data/lib/cgi/session/higgs.rb +3 -3
- data/lib/higgs/block.rb +4 -4
- data/lib/higgs/cache.rb +5 -5
- data/lib/higgs/dbm.rb +4 -4
- data/lib/higgs/exceptions.rb +4 -4
- data/lib/higgs/flock.rb +4 -4
- data/lib/higgs/index.rb +9 -9
- data/lib/higgs/jcompat.rb +102 -0
- data/lib/higgs/jlog.rb +4 -4
- data/lib/higgs/lock.rb +6 -6
- data/lib/higgs/services.rb +4 -4
- data/lib/higgs/sman.rb +4 -4
- data/lib/higgs/storage.rb +6 -7
- data/lib/higgs/store.rb +4 -4
- data/lib/higgs/tar.rb +10 -4
- data/lib/higgs/thread.rb +58 -90
- data/lib/higgs/tman.rb +5 -5
- data/lib/higgs/utils/bman.rb +4 -4
- data/lib/higgs/utils.rb +4 -4
- data/lib/higgs/version.rb +5 -5
- data/lib/higgs.rb +4 -3
- data/misc/cache_bench/cache_bench.rb +1 -1
- data/misc/dbm_bench/.strc +1 -1
- data/misc/dbm_bench/Rakefile +1 -1
- data/misc/dbm_bench/dbm_multi_thread.rb +1 -1
- data/misc/dbm_bench/dbm_rnd_delete.rb +1 -1
- data/misc/dbm_bench/dbm_rnd_read.rb +1 -1
- data/misc/dbm_bench/dbm_rnd_update.rb +1 -1
- data/misc/dbm_bench/dbm_seq_read.rb +1 -1
- data/misc/dbm_bench/dbm_seq_write.rb +1 -1
- data/misc/dbm_bench/run.rb +1 -1
- data/misc/dbm_bench/st_verify.rb +1 -1
- data/misc/io_bench/cksum_bench.rb +1 -1
- data/misc/io_bench/jlog_bench.rb +1 -1
- data/misc/io_bench/write_bench.rb +1 -1
- data/misc/thread_bench/lock_bench.rb +1 -1
- data/mkrdoc.rb +11 -0
- data/rdoc.yml +9 -0
- data/test/Rakefile +1 -1
- data/test/run.rb +3 -1
- data/test/test_block.rb +1 -1
- data/test/test_cache.rb +3 -3
- data/test/test_cache_mvcc.rb +5 -5
- data/test/test_cgi_session.rb +3 -3
- data/test/test_dbm.rb +7 -7
- data/test/test_flock.rb +1 -1
- data/test/test_index.rb +5 -5
- data/test/test_jlog.rb +1 -1
- data/test/test_lock.rb +3 -3
- data/test/test_online_backup.rb +1 -1
- data/test/test_replication.rb +3 -3
- data/test/test_services.rb +1 -1
- data/test/test_storage.rb +78 -66
- data/test/test_storage_conf.rb +1 -1
- data/test/test_storage_init_opts.rb +1 -1
- data/test/test_store.rb +7 -7
- data/test/test_tar.rb +11 -11
- data/test/test_thread.rb +6 -6
- data/test/test_tman.rb +4 -4
- data/test/test_tman_init_opts.rb +1 -1
- data/test/test_tman_mvcc.rb +2 -2
- data/test/test_utils_bman.rb +1 -1
- metadata +7 -5
data/ChangeLog
CHANGED
@@ -1,3 +1,30 @@
|
|
1
|
+
2009-05-11 TOKI Yoshinori <toki@freedom.ne.jp>
|
2
|
+
|
3
|
+
* lib/higgs/version.rb: version 0.1.7. last version for ruby-1.8.
|
4
|
+
|
5
|
+
2009-05-09 TOKI Yoshinori <toki@freedom.ne.jp>
|
6
|
+
|
7
|
+
* test/test_cache_mvcc.rb, test/test_dbm.rb,
|
8
|
+
test/test_replication.rb, test/test_storage.rb,
|
9
|
+
test/test_store.rb, test/test_tman.rb, test/test_tman_mvcc.rb: for
|
10
|
+
minitest of ruby-1.9
|
11
|
+
|
12
|
+
2008-11-19 TOKI Yoshinori <toki@freedom.ne.jp>
|
13
|
+
|
14
|
+
* lib/higgs/thread.rb: `synchronized' syntax is changed.
|
15
|
+
|
16
|
+
2008-07-31 TOKI Yoshinori <toki@freedom.ne.jp>
|
17
|
+
|
18
|
+
* lib/higgs/jcompat.rb: adaptor for java.io.RandomAccessFile.
|
19
|
+
|
20
|
+
* lib/higgs/jcompat.rb: JRuby compatibility support.
|
21
|
+
|
22
|
+
* lib/higgs/tar.rb: open of Higgs::Tar::RawIO.
|
23
|
+
|
24
|
+
2008-07-29 TOKI Yoshinori <toki@freedom.ne.jp>
|
25
|
+
|
26
|
+
* lib/LICENSE: move from ./LICENSE to ./lib/LICENSE.
|
27
|
+
|
1
28
|
2008-07-26 TOKI Yoshinori <toki@freedom.ne.jp>
|
2
29
|
|
3
30
|
* check ruby 1.9.0 (2008-07-25 revision 18217) [i686-linux]
|
@@ -52,7 +79,7 @@ Finished in 426.574262 seconds.
|
|
52
79
|
* lib/higgs/index.rb (Higgs::Index class): multi-thread guard on
|
53
80
|
update.
|
54
81
|
|
55
|
-
* lib/higgs/thread.rb:
|
82
|
+
* lib/higgs/thread.rb: Higgs::Synchronized module is new.
|
56
83
|
multi-thread guard syntax like java.
|
57
84
|
|
58
85
|
2008-02-01 TOKI Yoshinori <toki@freedom.ne.jp>
|
data/Rakefile
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# for ident(1)
|
2
|
+
CVS_ID = '$Id: Rakefile 788 2008-07-28 16:15:33Z toki $'
|
3
|
+
|
4
|
+
require 'lib/higgs/version'
|
5
|
+
require 'rake/gempackagetask'
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
LIB_DIR = 'lib'
|
9
|
+
TEST_DIR = 'test'
|
10
|
+
RDOC_OPTS = YAML.load(IO.read('rdoc.yml'))
|
11
|
+
RDOC_DIR = RDOC_OPTS['CommandLineOptions'].assoc('-o')[1]
|
12
|
+
|
13
|
+
def cd_v(dir)
|
14
|
+
cd(dir, :verbose => true) {
|
15
|
+
yield
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
task :default
|
20
|
+
|
21
|
+
task :test do
|
22
|
+
cd_v TEST_DIR do
|
23
|
+
sh 'rake'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
task :rdoc do
|
28
|
+
sh 'rdoc', *(RDOC_OPTS['CommonOptions'] + RDOC_OPTS['CommandLineOptions']).flatten
|
29
|
+
end
|
30
|
+
|
31
|
+
task :rdoc_clean do
|
32
|
+
rm_rf RDOC_DIR
|
33
|
+
end
|
34
|
+
|
35
|
+
task :rdoc_upload => [ :rdoc_clean, :rdoc ] do
|
36
|
+
sh 'scp', '-pr', RDOC_DIR, 'rubyforge.org:/var/www/gforge-projects/higgs/.'
|
37
|
+
end
|
38
|
+
|
39
|
+
spec = Gem::Specification.new{|s|
|
40
|
+
s.name = 'higgs'
|
41
|
+
s.version = Higgs::VERSION
|
42
|
+
s.summary = 'pure ruby transactional storage compatible with unix TAR format'
|
43
|
+
s.author = 'TOKI Yoshinori'
|
44
|
+
s.email = 'toki@freedom.ne.jp'
|
45
|
+
s.homepage = 'http://higgs.rubyforge.org/'
|
46
|
+
s.rubyforge_project = 'higgs'
|
47
|
+
s.executables = %w[
|
48
|
+
higgs_apply_jlog
|
49
|
+
higgs_backup
|
50
|
+
higgs_dump_index
|
51
|
+
higgs_dump_jlog
|
52
|
+
higgs_ping
|
53
|
+
higgs_verify
|
54
|
+
]
|
55
|
+
s.files =
|
56
|
+
Dir['{lib,misc,sample,test}/**/{Rakefile,.strc,*.rb,*.yml}'] +
|
57
|
+
%w[ ChangeLog README Rakefile lib/LICENSE mkrdoc.rb rdoc.yml ]
|
58
|
+
s.test_files = %w[ test/run.rb ]
|
59
|
+
s.has_rdoc = true
|
60
|
+
s.rdoc_options = RDOC_OPTS['CommonOptions'].flatten
|
61
|
+
}
|
62
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
63
|
+
pkg.need_zip = true
|
64
|
+
pkg.need_tar_gz = true
|
65
|
+
end
|
66
|
+
|
67
|
+
task :gem_install => [ :gem ] do
|
68
|
+
sh 'gem', 'install', "pkg/higgs-#{Higgs::VERSION}.gem"
|
69
|
+
end
|
70
|
+
|
71
|
+
task :clean => [ :rdoc_clean, :clobber_package ] do
|
72
|
+
cd_v 'misc/dbm_bench' do
|
73
|
+
sh 'rake', 'clean'
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Local Variables:
|
78
|
+
# mode: Ruby
|
79
|
+
# indent-tabs-mode: nil
|
80
|
+
# End:
|
data/bin/higgs_apply_jlog
CHANGED
data/bin/higgs_backup
CHANGED
data/bin/higgs_dump_index
CHANGED
@@ -6,7 +6,7 @@ require 'pp'
|
|
6
6
|
require 'yaml'
|
7
7
|
|
8
8
|
# for ident(1)
|
9
|
-
CVS_ID = '$Id: higgs_dump_index
|
9
|
+
CVS_ID = '$Id: higgs_dump_index 464 2007-07-15 09:25:07Z toki $'
|
10
10
|
|
11
11
|
opts = OptionParser.new
|
12
12
|
opts.banner = "Usage: #{opts.program_name} [options] INDEX_PATH"
|
data/bin/higgs_dump_jlog
CHANGED
@@ -6,7 +6,7 @@ require 'pp'
|
|
6
6
|
require 'yaml'
|
7
7
|
|
8
8
|
# for ident(1)
|
9
|
-
CVS_ID = '$Id: higgs_dump_jlog
|
9
|
+
CVS_ID = '$Id: higgs_dump_jlog 679 2007-11-08 16:22:02Z toki $'
|
10
10
|
|
11
11
|
opts = OptionParser.new
|
12
12
|
opts.banner = "Usage: #{opts.program_name} [options] [JOURNAL_LOG_PATHs]"
|
data/bin/higgs_ping
CHANGED
data/bin/higgs_verify
CHANGED
@@ -4,7 +4,7 @@ require 'higgs/storage'
|
|
4
4
|
require 'optparse'
|
5
5
|
|
6
6
|
# for ident(1)
|
7
|
-
CVS_ID = '$Id: higgs_verify
|
7
|
+
CVS_ID = '$Id: higgs_verify 465 2007-07-15 09:52:12Z toki $'
|
8
8
|
|
9
9
|
opts = OptionParser.new
|
10
10
|
opts.banner = "Usage: #{opts.program_name} [options] HIGGS_NAME"
|
data/{LICENSE → lib/LICENSE}
RENAMED
data/lib/cgi/session/higgs.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# like cgi/session/pstore.rb
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
|
8
8
|
require 'cgi/session'
|
@@ -15,7 +15,7 @@ class CGI
|
|
15
15
|
# like cgi/session/pstore.rb
|
16
16
|
class HiggsStore
|
17
17
|
# for ident(1)
|
18
|
-
CVS_ID = '$Id: higgs.rb
|
18
|
+
CVS_ID = '$Id: higgs.rb 841 2008-12-24 09:23:20Z toki $'
|
19
19
|
|
20
20
|
def initialize(session, options={})
|
21
21
|
dir = options['tmpdir'] || Dir.tmpdir
|
data/lib/higgs/block.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = block read/write
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'digest'
|
@@ -28,7 +28,7 @@ module Higgs
|
|
28
28
|
#
|
29
29
|
module Block
|
30
30
|
# for ident(1)
|
31
|
-
CVS_ID = '$Id: block.rb
|
31
|
+
CVS_ID = '$Id: block.rb 841 2008-12-24 09:23:20Z toki $'
|
32
32
|
|
33
33
|
include Exceptions
|
34
34
|
|
data/lib/higgs/cache.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = cache utilities
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'forwardable'
|
@@ -16,7 +16,7 @@ module Higgs
|
|
16
16
|
# = cache by Least Recently Used strategy
|
17
17
|
class LRUCache
|
18
18
|
# for ident(1)
|
19
|
-
CVS_ID = '$Id: cache.rb
|
19
|
+
CVS_ID = '$Id: cache.rb 841 2008-12-24 09:23:20Z toki $'
|
20
20
|
|
21
21
|
extend Forwardable
|
22
22
|
|
@@ -73,7 +73,7 @@ module Higgs
|
|
73
73
|
# = multi-thread safe cache
|
74
74
|
class SharedWorkCache
|
75
75
|
# for ident(1)
|
76
|
-
CVS_ID = '$Id: cache.rb
|
76
|
+
CVS_ID = '$Id: cache.rb 841 2008-12-24 09:23:20Z toki $'
|
77
77
|
|
78
78
|
def initialize(cache={}, &work)
|
79
79
|
unless (work) then
|
data/lib/higgs/dbm.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = storage like dbm
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'higgs/sman'
|
@@ -54,7 +54,7 @@ module Higgs
|
|
54
54
|
#
|
55
55
|
class DBM < StorageManager
|
56
56
|
# for ident(1)
|
57
|
-
CVS_ID = '$Id: dbm.rb
|
57
|
+
CVS_ID = '$Id: dbm.rb 841 2008-12-24 09:23:20Z toki $'
|
58
58
|
|
59
59
|
DECODE = proc{|r| r }
|
60
60
|
ENCODE = proc{|w| w }
|
data/lib/higgs/exceptions.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# = exceptions
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
module Higgs
|
12
12
|
module Exceptions
|
13
13
|
# for ident(1)
|
14
|
-
CVS_ID = '$Id: exceptions.rb
|
14
|
+
CVS_ID = '$Id: exceptions.rb 841 2008-12-24 09:23:20Z toki $'
|
15
15
|
|
16
16
|
class HiggsError < StandardError
|
17
17
|
end
|
data/lib/higgs/flock.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# = file lock
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
module Higgs
|
12
12
|
class FileLock
|
13
13
|
# for ident(1)
|
14
|
-
CVS_ID = '$Id: flock.rb
|
14
|
+
CVS_ID = '$Id: flock.rb 841 2008-12-24 09:23:20Z toki $'
|
15
15
|
|
16
16
|
def initialize(path, read_only=false)
|
17
17
|
@path = path
|
data/lib/higgs/index.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = storage index
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:26:27 +0900#$
|
5
|
+
# Revision:: $Revision: 842 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'forwardable'
|
@@ -17,7 +17,7 @@ module Higgs
|
|
17
17
|
# = storage index
|
18
18
|
class Index
|
19
19
|
# for ident(1)
|
20
|
-
CVS_ID = '$Id: index.rb
|
20
|
+
CVS_ID = '$Id: index.rb 842 2008-12-24 09:26:27Z toki $'
|
21
21
|
|
22
22
|
extend Forwardable
|
23
23
|
include Block
|
@@ -37,9 +37,9 @@ module Higgs
|
|
37
37
|
self.__lock__ = Mutex.new
|
38
38
|
end
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
synchronized_reader :change_number
|
41
|
+
synchronized_accessor :eoa
|
42
|
+
synchronized_accessor :storage_id
|
43
43
|
|
44
44
|
def succ!
|
45
45
|
@change_number = @change_number.succ
|
@@ -64,8 +64,8 @@ module Higgs
|
|
64
64
|
end
|
65
65
|
synchronized :free_store
|
66
66
|
|
67
|
-
|
68
|
-
|
67
|
+
def_synchronized_delegator :@index, :key?
|
68
|
+
def_synchronized_delegator :@index, :keys
|
69
69
|
|
70
70
|
def identity(key)
|
71
71
|
i = @index[key] and i[0]
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# JRuby compatibility support
|
2
|
+
|
3
|
+
require 'higgs/tar'
|
4
|
+
require 'java'
|
5
|
+
|
6
|
+
# for digest
|
7
|
+
require 'digest/md5'
|
8
|
+
#require 'digest/rmd160'
|
9
|
+
require 'digest/sha1'
|
10
|
+
require 'digest/sha2'
|
11
|
+
|
12
|
+
module Higgs
|
13
|
+
# for higgs/tar.rb
|
14
|
+
module Tar
|
15
|
+
class JRawIO
|
16
|
+
CVS_ID = '$Id: jcompat.rb 794 2008-08-05 13:43:03Z toki $'
|
17
|
+
|
18
|
+
def make_java_byte_array(size)
|
19
|
+
([ 0 ] * size).to_java(:byte)
|
20
|
+
end
|
21
|
+
private :make_java_byte_array
|
22
|
+
|
23
|
+
def initialize(path, mode='r')
|
24
|
+
read_only = true
|
25
|
+
case (mode)
|
26
|
+
when String
|
27
|
+
if (mode =~ /w/) then
|
28
|
+
read_only = false
|
29
|
+
end
|
30
|
+
when Integer
|
31
|
+
if ((mode & (File::WRONLY | File::RDWR)) != 0) then
|
32
|
+
read_only = false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
@io = java.io.RandomAccessFile.new(path, read_only ? 'r' : 'rw')
|
36
|
+
@buf = make_java_byte_array(1024)
|
37
|
+
@closed = false
|
38
|
+
end
|
39
|
+
|
40
|
+
def read(size)
|
41
|
+
@buf = make_java_byte_array(size) if (@buf.length < size)
|
42
|
+
read_size = @io.read(@buf, 0, size)
|
43
|
+
if (read_size > 0) then
|
44
|
+
String.from_java_bytes(@buf)[0, read_size]
|
45
|
+
elsif (read_size == 0) then
|
46
|
+
""
|
47
|
+
else
|
48
|
+
nil
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def write(str)
|
53
|
+
@io.write(str.to_java_bytes)
|
54
|
+
nil
|
55
|
+
end
|
56
|
+
|
57
|
+
def tell
|
58
|
+
@io.getFilePointer
|
59
|
+
end
|
60
|
+
|
61
|
+
def seek(pos)
|
62
|
+
@io.seek(pos)
|
63
|
+
nil
|
64
|
+
end
|
65
|
+
|
66
|
+
alias pos tell
|
67
|
+
alias pos= seek
|
68
|
+
|
69
|
+
def flush
|
70
|
+
end
|
71
|
+
|
72
|
+
def fsync
|
73
|
+
@io.getFD.sync
|
74
|
+
nil
|
75
|
+
end
|
76
|
+
|
77
|
+
def truncate(size)
|
78
|
+
@io.setLength(size)
|
79
|
+
nil
|
80
|
+
end
|
81
|
+
|
82
|
+
def close
|
83
|
+
@io.close
|
84
|
+
@closed = true
|
85
|
+
nil
|
86
|
+
end
|
87
|
+
|
88
|
+
def closed?
|
89
|
+
@closed
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def RawIO.open(path, *args)
|
94
|
+
JRawIO.new(path, *args)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# Local Variables:
|
100
|
+
# mode: Ruby
|
101
|
+
# indent-tabs-mode: nil
|
102
|
+
# End:
|
data/lib/higgs/jlog.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = journal log writer
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'higgs/block'
|
@@ -14,7 +14,7 @@ module Higgs
|
|
14
14
|
# = journal log writer
|
15
15
|
class JournalLogger
|
16
16
|
# for ident(1)
|
17
|
-
CVS_ID = '$Id: jlog.rb
|
17
|
+
CVS_ID = '$Id: jlog.rb 841 2008-12-24 09:23:20Z toki $'
|
18
18
|
|
19
19
|
include Block
|
20
20
|
|
data/lib/higgs/lock.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = multi-thread lock manager
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'higgs/cache'
|
@@ -17,7 +17,7 @@ module Higgs
|
|
17
17
|
# = multi-thread lock manager
|
18
18
|
class LockManager
|
19
19
|
# for ident(1)
|
20
|
-
CVS_ID = '$Id: lock.rb
|
20
|
+
CVS_ID = '$Id: lock.rb 841 2008-12-24 09:23:20Z toki $'
|
21
21
|
|
22
22
|
include Exceptions
|
23
23
|
|
@@ -102,7 +102,7 @@ module Higgs
|
|
102
102
|
|
103
103
|
class GiantLockManager < LockManager
|
104
104
|
# for ident(1)
|
105
|
-
CVS_ID = '$Id: lock.rb
|
105
|
+
CVS_ID = '$Id: lock.rb 841 2008-12-24 09:23:20Z toki $'
|
106
106
|
|
107
107
|
def initialize(*args)
|
108
108
|
super
|
@@ -126,7 +126,7 @@ module Higgs
|
|
126
126
|
|
127
127
|
class OptimisticLockManager < LockManager
|
128
128
|
# for ident(1)
|
129
|
-
CVS_ID = '$Id: lock.rb
|
129
|
+
CVS_ID = '$Id: lock.rb 841 2008-12-24 09:23:20Z toki $'
|
130
130
|
|
131
131
|
def initialize(*args)
|
132
132
|
super
|
data/lib/higgs/services.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = remote services
|
2
2
|
#
|
3
3
|
# Author:: $Author $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'drb'
|
@@ -14,7 +14,7 @@ module Higgs
|
|
14
14
|
# = remote services
|
15
15
|
class RemoteServices
|
16
16
|
# for ident(1)
|
17
|
-
CVS_ID = '$Id: services.rb
|
17
|
+
CVS_ID = '$Id: services.rb 841 2008-12-24 09:23:20Z toki $'
|
18
18
|
|
19
19
|
# theses options are defined.
|
20
20
|
# [<tt>:remote_services_uri</tt>] URI for DRb remote call to provide services.
|
data/lib/higgs/sman.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = storage manager
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'forwardable'
|
@@ -44,7 +44,7 @@ module Higgs
|
|
44
44
|
#
|
45
45
|
class StorageManager
|
46
46
|
# for ident(1)
|
47
|
-
CVS_ID = '$Id: sman.rb
|
47
|
+
CVS_ID = '$Id: sman.rb 841 2008-12-24 09:23:20Z toki $'
|
48
48
|
|
49
49
|
extend Forwardable
|
50
50
|
|
data/lib/higgs/storage.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = transactional storage core
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'digest'
|
@@ -23,7 +23,7 @@ module Higgs
|
|
23
23
|
# = transactional storage core
|
24
24
|
class Storage
|
25
25
|
# for ident(1)
|
26
|
-
CVS_ID = '$Id: storage.rb
|
26
|
+
CVS_ID = '$Id: storage.rb 841 2008-12-24 09:23:20Z toki $'
|
27
27
|
|
28
28
|
include Exceptions
|
29
29
|
|
@@ -239,10 +239,9 @@ module Higgs
|
|
239
239
|
|
240
240
|
@logger.info("build I/O handle pool for read.")
|
241
241
|
@r_tar_pool = Pool.new(@number_of_read_io) {
|
242
|
-
r_io =
|
243
|
-
r_io.binmode
|
242
|
+
r_io = Tar::RawIO.open(@tar_name, File::RDONLY)
|
244
243
|
@logger.info("open I/O handle for read: #{@tar_name}")
|
245
|
-
Tar::ArchiveReader.new(
|
244
|
+
Tar::ArchiveReader.new(r_io)
|
246
245
|
}
|
247
246
|
|
248
247
|
@index = Index.new
|
data/lib/higgs/store.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# = storage like pstore
|
2
2
|
#
|
3
3
|
# Author:: $Author: toki $
|
4
|
-
# Date:: $Date
|
5
|
-
# Revision:: $Revision:
|
4
|
+
# Date:: $Date:: 2008-12-24 18:23:20 +0900#$
|
5
|
+
# Revision:: $Revision: 841 $
|
6
6
|
#
|
7
7
|
# == license
|
8
|
-
# :include
|
8
|
+
# :include:../LICENSE
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'higgs/sman'
|
@@ -218,7 +218,7 @@ module Higgs
|
|
218
218
|
#
|
219
219
|
class Store < StorageManager
|
220
220
|
# for ident(1)
|
221
|
-
CVS_ID = '$Id: store.rb
|
221
|
+
CVS_ID = '$Id: store.rb 841 2008-12-24 09:23:20Z toki $'
|
222
222
|
|
223
223
|
DECODE = proc{|r| Marshal.load(r) }
|
224
224
|
ENCODE = proc{|w| Marshal.dump(w) }
|