higgs 0.1.6 → 0.1.7
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.
- 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) }
|