public class PublisherNew extends PublisherBase implements java.lang.Runnable, ObjectCreator<PublisherBase>, ObjectDestructor
データ送出タイミングを待つコンシューマを、送出する側とは異なるスレッドで動作させる場合に使用します。
Publisherの駆動は、データ送出のタイミングになるまでブロックされ、送出タイミングの通知を受けると、 即座にコンシューマの送出処理を呼び出します。
修飾子とタイプ | クラスと説明 |
---|---|
protected static class |
PublisherNew.Policy |
コンストラクタと説明 |
---|
PublisherNew()
コンストラクタ
|
修飾子とタイプ | メソッドと説明 |
---|---|
ReturnCode |
activate()
activate
|
protected ReturnCode |
convertReturn(ReturnCode status,
org.omg.CORBA.portable.OutputStream data)
convertReturn
|
protected boolean |
createTask(Properties prop)
Setting Task
|
PublisherBase |
creator_()
creator_
|
ReturnCode |
deactivate()
deactivate
|
void |
destructor_(java.lang.Object obj)
destructor_
|
java.lang.String |
getName()
getName
|
ReturnCode |
init(Properties prop)
init
initialization
|
protected ReturnCode |
invokeListener(ReturnCode status,
org.omg.CORBA.portable.OutputStream data) |
boolean |
isActive()
write
|
protected void |
onBufferFull(org.omg.CORBA.portable.OutputStream data) |
protected void |
onBufferRead(org.omg.CORBA.portable.OutputStream data) |
protected void |
onBufferWriteOverwrite(org.omg.CORBA.portable.OutputStream data) |
protected void |
onBufferWriteTimeout(org.omg.CORBA.portable.OutputStream data) |
protected void |
onReceived(org.omg.CORBA.portable.OutputStream data) |
protected void |
onReceiverError(org.omg.CORBA.portable.OutputStream data) |
protected void |
onReceiverFull(org.omg.CORBA.portable.OutputStream data) |
protected void |
onReceiverTimeout(org.omg.CORBA.portable.OutputStream data) |
protected void |
onSend(org.omg.CORBA.portable.OutputStream data) |
protected void |
onSenderError()
Connector listener functions
|
int |
open(java.lang.Object[] args)
当該Publisherの駆動を開始します。
|
static void |
PublisherNewInit()
PublisherNewInit
|
protected ReturnCode |
pushAll()
pushAll
push all policy
|
protected ReturnCode |
pushFifo()
pushFifo
push "fifo" policy
|
protected ReturnCode |
pushNew()
pushNew
push "new" policy
|
protected ReturnCode |
pushSkip()
pushSkip
push "skip" policy
|
void |
release()
駆動フラグがオフとなり、Publisherの駆動が停止します。
|
void |
run()
当該Publisherオブジェクトのスレッドコンテキストです。
|
ReturnCode |
setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
setBuffer
Setting buffer
|
ReturnCode |
setConsumer(InPortConsumer consumer)
setConsumer
Store InPort consumer
|
ReturnCode |
setListener(ConnectorBase.ConnectorInfo info,
ConnectorListeners listeners)
Setting buffer pointer
|
protected void |
setPushPolicy(Properties prop)
Setting PushPolicy
|
int |
svc()
当該Publisherオブジェクトのスレッドコンテキストです。
|
void |
update()
送出タイミング時に呼び出します。
|
ReturnCode |
write(org.omg.CORBA.portable.OutputStream data) |
ReturnCode |
write(org.omg.CORBA.portable.OutputStream data,
int sec,
int usec)
データを書き込む
{@.ja Publisher が保持するバッファに対してデータを書き込む。
|
protected Logbuf rtcout
public void update()
送出タイミング時に呼び出します。ブロックしている当該Publisherの駆動が開始され、 コンシューマへの送出処理が行われます。
public int svc()
当該Publisherオブジェクトのスレッドコンテキストです。 送出タイミングが通知されるまでブロックします。
protected ReturnCode pushAll()
pushAll
push all policy
protected ReturnCode pushFifo()
pushFifo
push "fifo" policy
protected ReturnCode pushSkip()
pushSkip
push "skip" policy
protected ReturnCode pushNew()
pushNew
push "new" policy
public int open(java.lang.Object[] args)
当該Publisherの駆動を開始します。
args
- (本Publisherでは使用されません。)public void release()
駆動フラグがオフとなり、Publisherの駆動が停止します。
ただし、すでに駆動スレッドがブロックされている場合には、 最大1回のみコンシューマの送出処理が呼び出されることがあります。
release
クラス内 PublisherBase
public void run()
当該Publisherオブジェクトのスレッドコンテキストです。 送出タイミングが通知されるまでブロックします。
run
インタフェース内 java.lang.Runnable
public ReturnCode init(Properties prop)
init
initialization
init
クラス内 PublisherBase
prop
- protected void setPushPolicy(Properties prop)
Setting PushPolicy
prop
- Propertiesprotected boolean createTask(Properties prop)
Setting Task
prop
- Propertiespublic ReturnCode setConsumer(InPortConsumer consumer)
setConsumer
Store InPort consumer
setConsumer
クラス内 PublisherBase
consumer
- public ReturnCode setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
setBuffer
Setting buffer
setBuffer
クラス内 PublisherBase
buffer
- public ReturnCode setListener(ConnectorBase.ConnectorInfo info, ConnectorListeners listeners)
Setting buffer pointer
setListener
クラス内 PublisherBase
public ReturnCode write(org.omg.CORBA.portable.OutputStream data, int sec, int usec)
Publisher が保持するバッファに対してデータを書き込む。コンシュー マ、バッファ、リスナ等が適切に設定されていない等、Publisher オブ ジェクトが正しく初期化されていない場合、この関数を呼び出すとエラー コード PRECONDITION_NOT_MET が返され、バッファへの書き込み等の操 作は一切行われない。 バッファへの書き込みと、InPortへのデータの送信は非同期的に行われ るため、この関数は、InPortへのデータ送信の結果を示す、 CONNECTION_LOST, BUFFER_FULL などのリターンコードを返すことがあ る。この場合、データのバッファへの書き込みは行われない。 バッファへの書き込みに対して、バッファがフル状態、バッファのエ ラー、バッファへの書き込みがタイムアウトした場合、バッファの事前 条件が満たされない場合にはそれぞれ、エラーコード BUFFER_FULL, BUFFER_ERROR, BUFFER_TIMEOUT, PRECONDITION_NOT_MET が返される。 これら以外のエラーの場合、PORT_ERROR が返される。
write
クラス内 PublisherBase
data
- 書き込むデータ
sec
- タイムアウト時間
usec
- タイムアウト時間
public ReturnCode write(org.omg.CORBA.portable.OutputStream data)
write
クラス内 PublisherBase
public boolean isActive()
write
isActive
クラス内 PublisherBase
public ReturnCode activate()
activate
activate
クラス内 PublisherBase
public ReturnCode deactivate()
deactivate
deactivate
クラス内 PublisherBase
public PublisherBase creator_()
creator_
creator_
インタフェース内 ObjectCreator<PublisherBase>
public void destructor_(java.lang.Object obj)
destructor_
destructor_
インタフェース内 ObjectDestructor
obj
- The target instances for destructionpublic static void PublisherNewInit()
PublisherNewInit
protected ReturnCode convertReturn(ReturnCode status, org.omg.CORBA.portable.OutputStream data)
convertReturn
protected ReturnCode invokeListener(ReturnCode status, org.omg.CORBA.portable.OutputStream data)
public java.lang.String getName()
getName
getName
クラス内 PublisherBase
protected void onBufferFull(org.omg.CORBA.portable.OutputStream data)
protected void onBufferWriteTimeout(org.omg.CORBA.portable.OutputStream data)
protected void onBufferWriteOverwrite(org.omg.CORBA.portable.OutputStream data)
protected void onBufferRead(org.omg.CORBA.portable.OutputStream data)
protected void onSend(org.omg.CORBA.portable.OutputStream data)
protected void onReceived(org.omg.CORBA.portable.OutputStream data)
protected void onReceiverFull(org.omg.CORBA.portable.OutputStream data)
protected void onReceiverTimeout(org.omg.CORBA.portable.OutputStream data)
protected void onReceiverError(org.omg.CORBA.portable.OutputStream data)
protected void onSenderError()
Connector listener functions