T
- 通知された要素の型 public abstract class AbstractListenerReadPublisher<T> extends ObjectSE implements Publisher<T>
Publisher
実装の抽象基本クラス。具体的には、Servlet 3.1 ノンブロッキング I/O および Undertow XNIO を使用して HTTP リクエスト本文から読み取り、標準の Java WebSocket(JSR-356)、Jetty、Undertow を使用して受信 WebSocket メッセージを処理するための基本クラス。
修飾子と型 | フィールドと説明 |
---|---|
protected static Log | rsReadLogger Reactive Streams 信号をデバッグするための特別なロガー。 |
コンストラクターと説明 |
---|
AbstractListenerReadPublisher() |
AbstractListenerReadPublisher(StringSE logPrefix) 指定されたログプレフィックスでインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract void | checkOnDataAvailable() データが利用可能かどうかを確認し、 onDataAvailable() をすぐに呼び出すか、通知をスケジュールします。 |
protected abstract void | discardData() 基になるサーバーからの I/O 読み取りエラーの後、またはダウンストリームコンシューマーからのキャンセル信号の後に呼び出され、サブクラスが現在のキャッシュデータを破棄できるようにします。 |
StringSE | getLogPrefix() 設定されたログメッセージプレフィックスを返します。 |
void | onAllDataRead() サブクラスは、このメソッドを呼び出して、すべてのデータが読み取られたときに包含通知を委譲できます。 |
void | onDataAvailable() checkOnDataAvailable() によるチェックの後、同じスレッドで、基盤となるコンテナーからのコールバックとして、読み取りが可能なときに呼び出されます。 |
void | onError(ThrowableSE ex) サブクラスはこれを呼び出して、コンテナーエラー通知を委譲できます。 |
protected abstract T | read() 可能であれば、入力から 1 回読み取ります。 |
protected abstract void | readingPaused() 要求がなかったために読み取りが一時停止されたときに呼び出されます。 |
void | subscribe(Subscriber<? super T> subscriber) |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected static Log rsReadLogger
LogDelegateFactory.getHiddenLog(Class)
, AbstractListenerWriteProcessor.rsWriteLogger
, AbstractListenerWriteFlushProcessor.rsWriteFlushLogger
, WriteResultPublisher.rsWriteResultLogger
public AbstractListenerReadPublisher()
public AbstractListenerReadPublisher(StringSE logPrefix)
public StringSE getLogPrefix()
public void subscribe(Subscriber<? super T> subscriber)
public final void onDataAvailable()
checkOnDataAvailable()
によるチェックの後、同じスレッドで、基盤となるコンテナーからのコールバックとして、読み取りが可能なときに呼び出されます。public void onAllDataRead()
public final void onError(ThrowableSE ex)
protected abstract void checkOnDataAvailable()
onDataAvailable()
をすぐに呼び出すか、通知をスケジュールします。@Nullable protected abstract T read() throws IOExceptionSE
null
IOExceptionSE
protected abstract void readingPaused()
注意 : このメソッドは checkOnDataAvailable()
と競合しないことが保証されているため、基になる API がサポートしている場合、つまり checkOnDataAvailable()
を介して再開する暗黙的な呼び出しと競合することなく、安全に読み取りを中断できます。
protected abstract void discardData()