Build TOP Environments

開発者向け

共通

同期と非同期
提供されるクラス

k2hashクラス

k2hash::Create()
k2hash::Open()
k2hash::OpenRW()
k2hash::OpenRO()
k2hash::OpenTempfile()
k2hash::OpenMem()
k2hash::Close()
k2hash::GetValue()
k2hash::GetSubkeys()
k2hash::SetValue()
k2hash::AddSubkey()
k2hash::AddSubkeys()
k2hash::Remove()
k2hash::RemoveAll()
k2hash::PrintState()
k2hash::PrintVersion()
k2hash::DumpHead()
k2hash::DumpKeytable()
k2hash::DumpFullKeytable()
k2hash::DumpElementtable()
k2hash::DumpFull()
k2hash::Transaction()
k2hash::EnableTransaction()
k2hash::DisableTransaction()
k2hash::UnsetTransactionThreadPool()
k2hash::GetTransactionThreadPool()
k2hash::SetTransactionThreadPool()
k2hash::LoadArchive()
k2hash::PutArchive()
k2hash::SetCommonAttribute()
k2hash::CleanCommonAttribute()
k2hash::AddAttrPluginLib()
k2hash::AddAttrCryptPass()
k2hash::GetAttrVersionInfos()
k2hash::GetAttrInfos()
k2hash::GetAttrs()
k2hash::GetAttrValue()
k2hash::AddAttr()
k2hash::GetQueue()
k2hash::GetKeyQueue()

k2hqueueクラス

k2hqueue::Init()
k2hqueue::Push()
k2hqueue::Count()
k2hqueue::IsEmpty()
k2hqueue::Read()
k2hqueue::Pop()
k2hqueue::Remove()
k2hqueue::Dump()

k2hkeyqueueクラス

k2hkeyqueue::Init()
k2hkeyqueue::Push()
k2hkeyqueue::Count()
k2hkeyqueue::IsEmpty()
k2hkeyqueue::Read()
k2hkeyqueue::Pop()
k2hkeyqueue::Remove()
k2hkeyqueue::Dump()


共通

同期と非同期

K2HASH Node.js アドオンライブラリのクラスのメソッドは、同期処理とCallback関数を指定できる非同期処理をサポートしています。
非同期処理をサポートしているメソッドは、callback関数の引数を受け取ることができます。
また、非同期処理としてononXXXXXでイベントハンドラーを指定することもできます。
callback関数もしくはイベントハンドラーの指定をすることで非同期処理を行うことができます。

callback関数の引数を指定しない場合やイベントハンドラーの指定を指定しない場合、各々のメソッドは同期処理として動作します。

提供されるクラス

K2HASH Node.js アドオンライブラリは、k2hashクラスを提供します。
K2HASHの機能のqueueを操作するためのk2hqueueクラスとk2hKeyqueueクラスも提供されています。
k2hqueueクラスとk2hKeyqueueクラスのオブジェクトは、k2hashクラスのオブジェクトからメソッドを使って取得することができます。


k2hashクラス

K2HASH Node.js アドオンライブラリの提供するメインクラスです。
このクラスにより、K2HASHファイルやメモリ上のデータの操作を行うことができます。

クラスを生成するには以下のように指定します。

  var k2hobj = require('k2hash')();

もしくは

  var k2hobj = new require('k2hash')();

以下に、K2HASHクラスのメソッドとその説明をします。

k2hash::Create()

K2HASHファイルの作成および初期化します。

書式

bool Create(String   filename,
            int      maskbitcnt = 2,
            int      cmaskbitcnt = 4,
            int      maxelementcnt = 32,
            int      pagesize = 128,
            Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::Open()

K2HASHファイルをオープンします。
ファイルが存在しない場合には、新規に作成されます。

書式

bool Open(  String   filename,
            bool     readonly = false, 
            bool     removefile = false, 
            bool     fullmap = true, 
            int      maskbitcnt = 2, 
            int      cmaskbitcnt = 4, 
            int      maxelementcnt = 32, 
            int      pagesize = 128,
            Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::OpenRW()

K2HASHファイルを読み書き専用としてオープンします。

書式

bool OpenRW(String   filename,
            bool     fullmap = true, 
            int      maskbitcnt = 2, 
            int      cmaskbitcnt = 4, 
            int      maxelementcnt = 32, 
            int      pagesize = 128,
            Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::OpenRO()

K2HASHファイルを読みとり専用としてオープンします。

書式

bool OpenRO(String   filename,
            bool     fullmap = true, 
            int      maskbitcnt = 2, 
            int      cmaskbitcnt = 4, 
            int      maxelementcnt = 32, 
            int      pagesize = 128,
            Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::OpenTempfile()

一時K2HASHファイルを作成、初期化、オープンします。
このファイルはクローズ後に削除されます。

書式

bool OpenTempfile(String   filename,
                  bool     fullmap = true, 
                  int      maskbitcnt = 2, 
                  int      cmaskbitcnt = 4, 
                  int      maxelementcnt = 32, 
                  int      pagesize = 128,
                  Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::OpenMem()

オンメモリ上にK2HASHデータを初期化し、そのハンドルをオブジェクトに紐付けします。

書式

bool OpenMem(	int      maskbitcnt = 2, 
                int      cmaskbitcnt = 4, 
                int      maxelementcnt = 32, 
                int      pagesize = 128,
                Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::Close()

オープンしているK2HASHファイルもしくはオンメモリをクローズします。

書式

bool Close(Callback cbfunc = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::GetValue()

キーを指定して値を読み出します。

書式

[bool/String] GetValue(  String   key,
                         String   subkey = "",
                         bool     attrcheck = true,
                         String   pass = "",
                         Callback cbfunc = null
)

引数

返り値

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

注意

本メソッドはキーとサブキーを同時に指定することができます。
通常、キーの値の読み出しであれば、キー名を指定するだけで読み出すことができます。
キーとサブキーを同時に指定するという意味は、サブキーがキーに紐付けられていることが条件となります。
もし、サブキーがキーに紐づいていない場合にはこのメソッドは値を読み出さず、エラーを返します。

k2hash::GetSubkeys()

キーを指定して、キーに紐づいているサブキーのリストを読み出します。

書式

[bool/Array] GetSubkeys(String   key,
                        Callback cbfunc = null
)

引数

返り値

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::SetValue()

キーを指定して値を設定します。

書式

bool SetValue(  String   key,
                String   value,
                String   subkey = null,
                String   pass = "",
                int      expire = 0,
                Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::AddSubkey()

親キーを指定して、サブキーを追加します。

書式

bool AddSubkey( String   key,
                String   subkey,
                String   value = null,
                Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::AddSubkeys()

親キーを指定して、サブキーのリストを上書きします。

書式

bool AddSubkeys(String   key,
                Array    subkeys,
                Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::Remove()

キーもしくはサブキーを削除します。

書式

bool Remove(String   key,
            String   subkey,
            Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

注意

本メソッドはキーとサブキーを同時に指定することができます。
キーのみを指定した場合には、そのキーが削除されます。
キーとサブキーを指定した場合、サブキーは削除され、キーは削除されません。
この場合、キーにリストのサブキーリストから指定されたサブキーが削除されます。
もし、キーのサブキーリストに指定されたサブキーが存在しない場合には、エラーを返します。

k2hash::RemoveAll()

キーと、キーに紐付けられているサブキーもすべて削除します。

書式

bool RemoveAll(String   key,
               Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::PrintState()

K2HASHファイルもしくはオンメモリデータの状態(情報)を出力します。

書式

bool PrintState(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.PrintState();

k2h.Close();

k2hash::PrintVersion()

K2HASHライブラリのバージョン、CopyRightを表示します。

書式

bool PrintVersion(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.PrintVersion();

k2hash::DumpHead()

K2HASHファイルもしくはオンメモリデータの内部HEADER情報を出力します。

書式

bool DumpHead(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DumpHead();

k2h.Close();

k2hash::DumpKeytable()

K2HASHファイルもしくはオンメモリデータの内部キーデータテーブル情報を出力します。

書式

bool DumpKeytable(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DumpKeytable();

k2h.Close();

k2hash::DumpFullKeytable()

K2HASHファイルもしくはオンメモリデータの内部キーテーブルの情報をすべて出力します。

書式

bool DumpFullKeytable(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DumpFullKeytable();

k2h.Close();

k2hash::DumpElementtable()

K2HASHファイルもしくはオンメモリデータの内部エレメントテーブル情報を出力します。

書式

bool DumpElementtable(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DumpElementtable();

k2h.Close();

k2hash::DumpFull()

K2HASHファイルもしくはオンメモリデータの内部データをすべて出力します。

書式

bool DumpFull(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DumpFull();

k2h.Close();

k2hash::Transaction()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理の有効、無効を設定します。

書式

bool Transaction(bool   enable,
                 String transfile = "",
                 String prefix = "",
                 String param = "",
                 int    expire = 0
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.Transaction(true, 'my.tr', 'tr_prefix_', '', 10);

k2h.Close();

k2hash::EnableTransaction()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理を有効にします。

書式

bool EnableTransaction(String transfile = "",
                       String prefix = "",
                       String param = "",
                       int    expire = 0
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.EnableTransaction('my.tr', 'tr_prefix_', '', 10);

k2h.Close();

k2hash::DisableTransaction()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理を無効にします。

書式

bool DisableTransaction(void)

引数

なし

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DisableTransaction();

k2h.Close();

k2hash::UnsetTransactionThreadPool()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理を行うためのスレッドプールをリセットします。

書式

bool UnsetTransactionThreadPool(void)

引数

なし

返り値

正常終了(true)もしくは失敗(false)を返します。
トランザクションが有効になっている場合は、このメソッドは失敗します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DisableTransaction();
k2h.UnsetTransactionThreadPool();
k2h.EnableTransaction('my.tr', 'tr_prefix_', '', 10);

k2h.Close();

k2hash::GetTransactionThreadPool()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理を行うためのスレッドプールの数を取得します。

書式

int GetTransactionThreadPool(void)

引数

なし

返り値

スレッドプール数を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
var pools = k2h.GetTransactionThreadPool();

k2h.Close();

k2hash::SetTransactionThreadPool()

K2HASHファイルもしくはオンメモリデータに対してトランザクション処理を行うためのスレッドプールを設定します。

書式

bool SetTransactionThreadPool(int count)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
トランザクションが有効になっている場合は、このメソッドは失敗します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.DisableTransaction();
k2h.SetTransactionThreadPool(10);
k2h.EnableTransaction('my.tr', 'tr_prefix_', '', 10);

k2h.Close();

k2hash::LoadArchive()

K2HASHアーカイブファイルからデータをロードします。

書式

bool LoadArchive(String   filename,
                 bool     errskip = true,
                 Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::PutArchive()

K2HASHファイルもしくはオンメモリデータの内容をK2HASHアーカイブファイルとして出力します。

書式

bool PutArchive(String   filename,
                 bool     errskip = true,
                 Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::SetCommonAttribute()

組み込み属性(更新時刻、履歴、有効期限、暗号化、暗号化パスフレーズ)の利用設定をします。

書式

bool SetCommonAttribute(int    is_mtime = -1, 
                        int    is_history = -1, 
                        int    is_encrypt = -1, 
                        String passfile = "", 
                        int    is_expire = -1, 
                        int    expire = 0
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.setCommonAttribute(1, 1, 0, 'mypassphrase', 1, 100);

k2h.Close();

k2hash::CleanCommonAttribute()

組み込み属性(更新時刻、履歴、有効期限、暗号化、暗号化パスフレーズ)の状態をデフォルトにします。

書式

bool SetCommonAttribute(void)

引数

なし

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.cleanCommonAttribute();

k2h.Close();

k2hash::AddAttrPluginLib()

カスタム属性ライブラリのロードをします。

書式

bool AddAttrPluginLib(String libfile)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.addAttrPluginLib('myattrlib.so');

k2h.Close();

k2hash::AddAttrCryptPass()

組み込み属性の暗号化のためのパスフレーズを設定します。
また、組み込み属性の暗号化を有効もしくは無効化します。

書式

bool AddAttrCryptPass(String encpass,
                      bool   is_default_encrypt = false
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.k2h.addAttrCryptPass('passphrase', true);

k2h.Close();

注意

パスフレーズを指定し、かつ組み込み属性の暗号化を無効とした場合には、キーの更新、書き込みなどにおいて暗号化はなされません。
キーの読み出しにおいてのみ、指定されたパスフレーズを使い、復号されます。

k2hash::GetAttrVersionInfos()

組み込み属性を含めた使用されている属性ライブラリのバージョン情報を出力します。

書式

bool GetAttrVersionInfos(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.GetAttrVersionInfos();

k2h.Close();

k2hash::GetAttrInfos()

組み込み属性を含めた使用されている属性ライブラリの情報を出力します。

書式

bool GetAttrInfos(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
k2h.GetAttrInfos();

k2h.Close();

k2hash::GetAttrs()

キーに設定されている属性名のリストを取得します。

書式

Array GetAttrs(String   key,
               Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::GetAttrValue()

キーに設定されている属性名の値を取得します。

書式

Array GetAttrValue(String   key,
                   String   attrkey,
                   Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::AddAttr()

キーに設定されている属性名の値を設定します。

書式

Array AddAttr(String   key,
              String   attrkey,
              String   attrval = null,
              Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hash::GetQueue()

キュー操作のためのk2hqueueクラスオブジェクトを取得する。

書式

object GetQueue(bool   is_fifo = true
              String prefix = null
)

引数

返り値

正常終了した場合には、k2hqueueオブジェクトを返します。
失敗した場合には、nullを返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
var k2hq = k2h.GetQueue();

k2h.Close();

k2hash::GetKeyQueue()

キーキュー操作のためのk2hkeyqueueクラスオブジェクトを取得する。

書式

object GetKeyQueue(bool   is_fifo = true
                   String prefix = null
)

引数

返り値

正常終了した場合には、k2hkeyqueueオブジェクトを返します。
失敗した場合には、nullを返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.OpenMem();
var k2hkq = k2h.GetKeyQueue();

k2h.Close();

k2hqueueクラス

K2HASH Node.js アドオンライブラリの提供するメインクラスのk2hashクラスオブジェクトから本クラスオブジェクトを取得することができます。
このクラスにより、K2HASHファイルやメモリ上のキューのデータの操作を行うことができます。

クラスを生成するには以下のように指定します。

  var k2hash = require('bindings')('k2hash');
  var k2h = k2hash();
  
  k2h.OpenMem();
  var k2hq = k2h.GetQueue();
  
  k2h.Close();

以下に、K2HQUEUEクラスのメソッドとその説明をします。

k2hqueue::Init()

k2hqueueオブジェクトを初期化します。

書式

bool Init(object k2hhash,
          bool   is_fifo = true,
          String prefix = null,
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hq = k2h.GetQueue();

k2hq.Init(k2h, true, 'queue_prefix_');

k2h.Close();

k2hqueue::Push()

K2HASHのキューにデータをプッシュします。

書式

bool Push(String    data,
          String    pass = "",
          int       expire = 0,
          Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hqueue::Count()

K2HASHのキューの蓄積されているデータ数を取得します。

書式

int Count(Callback cbfunc = null)

引数

返り値

正常終了の場合にはキューのデータ数を返します。失敗およびエラーの場合には、-1が返されます。 Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hqueue::IsEmpty()

K2HASHのキューの蓄積されているデータの存在有無を確認します。

書式

bool IsEmpty(void)

引数

なし

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hq = k2h.GetQueue();
k2hq.Init(k2h, true, 'queue_prefix_');

k2hq.IsEmpty();

k2h.Close();

k2hqueue::Read()

K2HASHのキューの蓄積されているデータを取り出さず、ひとつ読み出します。

書式

[bool/String] Read(int      pos = 0,
                   String   pass ="",
                   Callback cbfunc = null
)

引数

返り値

正常終了のときは読み出したデータを返します。失敗のときはnullを返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hqueue::Pop()

K2HASHのキューの蓄積されているデータをひとつ取り出ます。

書式

[bool/String] Pop(String   pass ="",
                  Callback cbfunc = null
)

引数

返り値

正常終了のときは取り出したデータを返します。失敗のときは、nullを返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hqueue::Remove()

K2HASHのキューの蓄積されているデータを読み出さず、指定した数だけ削除します。

書式

int Remove(int      count
           String   pass ="",
           Callback cbfunc = null
)

引数

返り値

正常終了のときは削除したデータ数を返します。失敗したときは、-1を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hqueue::Dump()

K2HASHのキューの蓄積されているデータを出力します。

書式

int Dump(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hq = k2h.GetQueue();
k2hq.Init(k2h, true, 'queue_prefix_');

k2hq.Dump();

k2h.Close();

k2hkeyqueueクラス

K2HASH Node.js アドオンライブラリの提供するメインクラスのk2hashクラスオブジェクトから本クラスオブジェクトを取得することができます。
このクラスにより、K2HASHファイルやメモリ上のKEYキューのデータの操作を行うことができます。

クラスを生成するには以下のように指定します。

  var k2hash = require('bindings')('k2hash');
  var k2h = k2hash();
  
  k2h.OpenMem();
  var k2hkq = k2h.GetKeyQueue();
  
  k2h.Close();

以下に、K2HKEYQUEUEクラスのメソッドとその説明をします。

k2hkeyqueue::Init()

k2hkeyqueueオブジェクトを初期化します。

書式

bool Init(object k2hhash,
          bool   is_fifo = true,
          String prefix = null,
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hkq = k2h.GetKeyQueue();

k2hkq.Init(k2h, true, 'keyqueue_prefix_');

k2h.Close();

k2hkeyqueue::Push()

K2HASHのKEYキューにデータをプッシュします。

書式

bool Push(String    key,
          String    val,
          String    pass = "",
          int       expire = 0,
          Callback cbfunc = null
)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hkeyqueue::Count()

K2HASHのKEYキューの蓄積されているデータ数を取得します。

書式

int Count(Callback cbfunc = null)

引数

返り値

正常終了の場合にはキューのデータ数を返します。失敗およびエラーの場合には、-1が返されます。 Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hkeyqueue::IsEmpty()

K2HASHのKEYキューの蓄積されているデータの存在有無を確認します。

書式

bool IsEmpty(void)

引数

なし

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hkq = k2h.GetKeyQueue();
k2hkq.Init(k2h, true, 'keyqueue_prefix_');

k2hkq.IsEmpty();

k2h.Close();

k2hkeyqueue::Read()

K2HASHのKEYキューの蓄積されているデータを取り出さず、ひとつ読み出します。

書式

[bool/Array] Read(int      pos = 0,
                  String   pass ="",
                  Callback cbfunc = null
)

引数

返り値

正常終了のときは読み出したデータの配列を返します。失敗のときは、nullを返します。
返される配列は、[“キー名”, “値”]として設定されます。 Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hkeyqueue::Pop()

K2HASHのKEYキューの蓄積されているデータをひとつ取り出ます。

書式

[bool/Array] Pop(String   pass ="",
                 Callback cbfunc = null
)

引数

返り値

正常終了のときは読み出したデータの配列を返します。失敗のときは、nullを返します。
返される配列は、[“キー名”, “値”]として設定されます。 Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hkeyqueue::Remove()

K2HASHのKEYキューの蓄積されているデータを読み出さず、指定した数だけ削除します。

書式

int Remove(int      count
           String   pass ="",
           Callback cbfunc = null
)

引数

返り値

正常終了のときは削除したデータ数を返します。失敗したときは、-1を返します。
Callback関数が指定されている場合には、常にtrueが返されます。

サンプル

イベントハンドラ

Callback関数を指定せず、イベントハンドラを設定して非同期処理をすることができます。
以下の2つの方法で非同期処理を記述できます。

k2hkeyqueue::Dump()

K2HASHのKEYキューの蓄積されているデータを出力します。

書式

int Dump(int fd = null)

引数

返り値

正常終了(true)もしくは失敗(false)を返します。

サンプル

var k2hash = require('bindings')('k2hash');
var k2h = k2hash();

k2h.Create('test.k2h');
var k2hkq = k2h.GetKeyQueue();
k2hkq.Init(k2h, true, 'keyqueue_prefix_');

k2hkq.Dump();

k2h.Close();
Build TOP Environments