Skip to content
lamatsujun edited this page Mar 29, 2012 · 5 revisions

Home >

ページ目次

概要

castoro 0.1 系から 0.2 系への変更内容をまとめます。

  • 0.1 から 0.2 系への変更により、ほぼ互換性がなくなる。
    • 但し、Gateway(0.2系)に対して、client(0.1系)は動作可能
  • 追加項目は太字で表示


castoro-common

クラス 備考
BasketKeyConverter
IslandId
【追加】basket_key からパスを導出するクラス
【追加】island 情報を保持するクラス

  • protocol
コマンド 備考
GET
Island
Status, Dump
【変更】island を付与
【追加】island の統計情報を通知する。
【削除】castoro-gateway のサブコマンド(status, dump)に変更

  • sender
クラス 備考
UDP::Broadcast 【追加】Broadcast 用のクラスを作成


castoro-client

メソッド 備考
#get(key, options )
#delete(key, options )
#get_with_island(key, island)
#delete_with_island(key, island)
#get(key)から変更
#delete(key)から変更
【追加】island 指定の GET
【追加】#delete(key, :island => island)のエイリアス
 #create(basket, hints){|host, path, options| } 
  • 【変更】ブロック引数に options (※)を追加
    • ※ options は以下のような island を持った値
options = {
 :island => "ebcdef12"
}


castoro-gateway-kyotocabinet

  • 【追加】gateway のキャッシュ部を KyotoCabinet にて実装


castoro-gateway

  • Gem インストール要件を Ruby 1.9.2 以上へ変更
コマンド 備考
setup -t
purge
status
dump
【追加】タイプ指定のオプション[-t]
【追加】指定の Peer の Basket 情報を削除する。
【追加】castoro-gateway のサブコマンドに変更。
【追加】castoro-gateway のサブコマンドに変更。
  • conf ファイル項目設定
    • 各サンプルファイルの配置 「/castoro/castoro-gateway/resources」
追加・変更 削除
group
type
require
gateway_console_tcpport
gateway_comm_udpport
gateway_learning_udpport_multicast
gateway_watchdog_udpport_multicast
gateway_watchdog_logging
gateway_comm_ipaddr_multicast
gateway_comm_device_multicast
peer_comm_udpport_multicast
master_comm_ipaddr_multicast
island_comm_udpport_broadcast
island_comm_ipaddr_multicast
island_comm_device_multicast
cache / class
cache / replication_count
cache / basket_basedir
cache / options: {}
cache / basket_keyconverter
multicast_addr
multicast_device_addr
gateway
peer


Cache クラス

  • 保存形式の変更
    • base_path 「 “/expdsk/1/baskets/a” 」を保存しない。
      • 保存する必要がなくなっため、保存項目より削除
  • 【追加】master_workers
    • island を紹介する。
  • メソッドの変更
メソッド 備考
#self.member_puts(io, p, b, c, t, r) 【追加】io へ要素に関する情報を文字列表現した情報を書きだす。
#find_peers(require_spaces) 【追加】要素の検索。見つかったNFSパスの配列を返す。見つからない場合は[]。
#insert_element(peer, contentid, content_type, revision, base_path) 【追加】#peers[peer].insert(content_id, content_type, revision, base_path) のエイリアス
#erase_element(peer, content_id, content_type, revision) 【追加】#peers[peer].erase(content_id, content_type, revision) のエイリアス
#get_peer_status(peer) 【追加】#peers[peer].status のエイリアス
#set_peer_status(peer, hash) 【追加】#peers[peer].status= のエイリアス
#dump(io, peer) 【変更】#dump(io) から変更。
#watchdog_limit= 【削除】


castoro-manipulator

  • Gem インストール要件を Ruby 1.9.1 以上へ変更