org.maachang.shm.core
クラス CoreShm

java.lang.Object
  上位を拡張 org.maachang.shm.core.CoreShm

public class CoreShm
extends java.lang.Object

コア部分となる共有メモリオブジェクト.
このオブジェクトは、共有メモリを作成し、その共有メモリI/Oを 処理するための、コアオブジェクトです.

導入されたバージョン:
SharedMemory 1.00
バージョン:
2008/02/11
作成者:
masahito suzuki

コンストラクタの概要
CoreShm(boolean mode, java.lang.String semName, java.lang.String shareName, int length)
          コンストラクタ.
 
メソッドの概要
 void destroy()
          オブジェクト破棄.
 void getHeaderEnhancing(boolean mode, boolean type, int[] seqId, long[] time, int[] datLen)
          拡張関数: ヘッダ情報を取得.
 int getProcessId()
          プロセスIDを取得.
 java.lang.String getSemaphoreName()
          セマフォ名を取得.
 int getSequenceIdEnhancing(boolean mode)
          拡張関数:シーケンスIDを取得.
 int getShareLength()
          共有メモリー最大幅を取得.
 java.lang.String getShareName()
          共有メモリ名を取得.
 void getValueEnhancing(boolean mode, boolean type, byte[] data, int len)
          拡張関数:データ情報を取得.
 boolean isUse()
          オブジェクト有効チェック.
 void lock()
          ロック処理を実行.
 void outputFile(java.io.OutputStream output)
          現在の共有メモリ内容を出力.
 void outputFile(java.lang.String name)
          現在の共有メモリ内容をファイル出力.
 void putHdValueEnhancing(boolean mode, boolean type, int seqId, long time, int datLen, byte[] data, int len)
          拡張関数:ヘッダ+データ情報を設定.
 void putHeaderEnhancing(boolean mode, boolean type, int seqId, long time, int datLen)
          拡張関数:ヘッダ情報を設定.
 void putValueEnhancing(boolean mode, boolean type, byte[] data, int len)
          拡張関数:データ情報を設定.
 int read(boolean mode, byte[] binary, int pos, int off, int length)
          共有メモリから情報取得.
 int read(byte[] binary, int pos, int off, int length)
          共有メモリから情報取得.
 void unLock()
          ロック処理を解除.
 int write(boolean mode, byte[] binary, int pos, int off, int length)
          共有メモリに情報セット.
 int write(byte[] binary, int pos, int off, int length)
          共有メモリに情報セット.
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CoreShm

public CoreShm(boolean mode,
               java.lang.String semName,
               java.lang.String shareName,
               int length)
        throws java.lang.Exception
コンストラクタ.

パラメータ:
mode - [true]の場合サーバモードで生成します.
semName - 対象のセマフォー名を設定します.
shareName - 対象の共有名を設定します.
length - 対象の共有メモリー幅を設定します.
例外:
java.lang.Exception - 例外.
メソッドの詳細

destroy

public void destroy()
オブジェクト破棄.


getSemaphoreName

public java.lang.String getSemaphoreName()
セマフォ名を取得.

戻り値:
String セマフォ名が返されます.

getShareName

public java.lang.String getShareName()
共有メモリ名を取得.

戻り値:
String 共有メモリ名が返されます.

getShareLength

public int getShareLength()
共有メモリー最大幅を取得.

戻り値:
int 共有メモリ最大幅を取得します.

write

public int write(byte[] binary,
                 int pos,
                 int off,
                 int length)
          throws java.lang.Exception
共有メモリに情報セット.

パラメータ:
binary - 対象のバイナリを設定します.
pos - 対象のポジションを設定します.
off - 対象のオフセット値を設定します.
length - 対象のデータ長を設定します.
戻り値:
int 書き込まれたサイズが返されます.
例外:
java.lang.Exception - 例外.

write

public int write(boolean mode,
                 byte[] binary,
                 int pos,
                 int off,
                 int length)
          throws java.lang.Exception
共有メモリに情報セット.

パラメータ:
mode - [true]の場合、同期を取ります.
binary - 対象のバイナリを設定します.
pos - 対象のポジションを設定します.
off - 対象のオフセット値を設定します.
length - 対象のデータ長を設定します.
戻り値:
int 書き込まれたサイズが返されます.
例外:
java.lang.Exception - 例外.

read

public int read(byte[] binary,
                int pos,
                int off,
                int length)
         throws java.lang.Exception
共有メモリから情報取得.

パラメータ:
binary - 対象のバイナリを設定します.
pos - 対象のポジションを設定します.
off - 対象のオフセット値を設定します.
length - 対象のデータ長を設定します.
戻り値:
int 読み込まれたサイズが返されます.
例外:
java.lang.Exception - 例外.

read

public int read(boolean mode,
                byte[] binary,
                int pos,
                int off,
                int length)
         throws java.lang.Exception
共有メモリから情報取得.

パラメータ:
mode - [true]の場合、同期を取ります.
binary - 対象のバイナリを設定します.
pos - 対象のポジションを設定します.
off - 対象のオフセット値を設定します.
length - 対象のデータ長を設定します.
戻り値:
int 読み込まれたサイズが返されます.
例外:
java.lang.Exception - 例外.

outputFile

public void outputFile(java.lang.String name)
                throws java.lang.Exception
現在の共有メモリ内容をファイル出力.

パラメータ:
name - 出力先のファイル名を設定します.
例外:
java.lang.Exception - 例外.

outputFile

public void outputFile(java.io.OutputStream output)
                throws java.lang.Exception
現在の共有メモリ内容を出力.

パラメータ:
output - 出力先のオブジェクトを設定します.
例外:
java.lang.Exception - 例外.

lock

public void lock()
          throws java.lang.Exception
ロック処理を実行.

例外:
java.lang.Exception - 例外.

unLock

public void unLock()
            throws java.lang.Exception
ロック処理を解除.

例外:
java.lang.Exception - 例外.

getProcessId

public int getProcessId()
プロセスIDを取得.

戻り値:
int プロセスIDが返されます.

isUse

public boolean isUse()
オブジェクト有効チェック.

戻り値:
boolean [true]の場合、有効です.

getSequenceIdEnhancing

public int getSequenceIdEnhancing(boolean mode)
拡張関数:シーケンスIDを取得.


getHeaderEnhancing

public void getHeaderEnhancing(boolean mode,
                               boolean type,
                               int[] seqId,
                               long[] time,
                               int[] datLen)
拡張関数: ヘッダ情報を取得.


putHeaderEnhancing

public void putHeaderEnhancing(boolean mode,
                               boolean type,
                               int seqId,
                               long time,
                               int datLen)
拡張関数:ヘッダ情報を設定.


getValueEnhancing

public void getValueEnhancing(boolean mode,
                              boolean type,
                              byte[] data,
                              int len)
拡張関数:データ情報を取得.


putValueEnhancing

public void putValueEnhancing(boolean mode,
                              boolean type,
                              byte[] data,
                              int len)
拡張関数:データ情報を設定.


putHdValueEnhancing

public void putHdValueEnhancing(boolean mode,
                                boolean type,
                                int seqId,
                                long time,
                                int datLen,
                                byte[] data,
                                int len)
拡張関数:ヘッダ+データ情報を設定.