public class StreamMessageProducer extends java.lang.Object implements MessageProducer, java.io.Closeable, MessageConstants
| Modifier and Type | Class and Description |
|---|---|
protected static class |
StreamMessageProducer.Headers |
CONTENT_LENGTH_HEADER, CONTENT_TYPE_HEADER, CRLF, JSON_MIME_TYPE, JSONRPC_VERSION| Constructor and Description |
|---|
StreamMessageProducer(java.io.InputStream input,
MessageJsonHandler jsonHandler) |
StreamMessageProducer(java.io.InputStream input,
MessageJsonHandler jsonHandler,
MessageIssueHandler issueHandler) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected void |
fireError(java.lang.Throwable error)
Log an error.
|
protected void |
fireStreamClosed(java.lang.Exception cause)
Report that the stream was closed through an exception.
|
java.io.InputStream |
getInput() |
protected boolean |
handleMessage(java.io.InputStream input,
StreamMessageProducer.Headers headers)
Read the JSON content part of a message, parse it, and notify the callback.
|
void |
listen(MessageConsumer callback)
Listen to a message source and forward all messages to the given consumer.
|
protected void |
parseHeader(java.lang.String line,
StreamMessageProducer.Headers headers)
Parse a header attribute and set the corresponding data in the
StreamMessageProducer.Headers fields. |
void |
setInput(java.io.InputStream input) |
public StreamMessageProducer(java.io.InputStream input,
MessageJsonHandler jsonHandler)
public StreamMessageProducer(java.io.InputStream input,
MessageJsonHandler jsonHandler,
MessageIssueHandler issueHandler)
public java.io.InputStream getInput()
public void setInput(java.io.InputStream input)
public void listen(MessageConsumer callback)
MessageProducerlisten in interface MessageProducerprotected void fireError(java.lang.Throwable error)
protected void fireStreamClosed(java.lang.Exception cause)
protected void parseHeader(java.lang.String line,
StreamMessageProducer.Headers headers)
StreamMessageProducer.Headers fields.protected boolean handleMessage(java.io.InputStream input,
StreamMessageProducer.Headers headers)
throws java.io.IOException
true if we should continue reading from the input stream, false if we should stopjava.io.IOExceptionpublic void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseable