Interface DataImportChannelProcessorBase
- All Superinterfaces:
DataImportProcessorBase
- All Known Implementing Classes:
DataImportChannelProcessor
,DataImportCommandProcessor
public interface DataImportChannelProcessorBase extends DataImportProcessorBase
Psuedo base class for channel processors (multiple inheritance would be handy here).
-
Field Summary
-
Method Summary
Modifier and Type Method Description com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel
getChannel()
Get the DataImportChannel for this channel processor.void
handleApplicationMessage(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, DataImportChannelItem item)
Handle an application-level message.default void
handleDisconnection(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel)
default void
handleProtocolError(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, String explanation)
default void
handleReadException(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, Exception exception)
default void
handleReject(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, String reason)
default void
handleUnexpectedMessage(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, DataImportChannelType type)
default void
initializeApplicationHandler()
Derived classes are required to call this method after construction.static void
sendReject(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, com.fishlib.io.logger.Logger log, String logPrefix, String message)
Send a rejection via the specified channel, and close the channel.default void
sendReject(com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, com.fishlib.io.logger.Logger log, String logPrefix, String message, Exception cause)
Send a rejection via the specified channel, and close the channel.default void
sendReject(String message)
Send a rejection message via this channel processor's channel, and close the channel.default void
sendReject(String message, Exception cause)
Send a rejection message via this channel processor's channel, and close the channel.Methods inherited from interface com.illumon.iris.db.tables.dataimport.logtailer.DataImportProcessorBase
getLog, getLogPrefix, shutdown
-
Field Details
-
NEW_LINE
Only get the new-line character once, so as to avoid repeated permission checks This is slightly deficient, since it assumes no issue over different line separators at the client.
-
-
Method Details
-
getChannel
com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel getChannel()Get the DataImportChannel for this channel processor.- Returns:
- the DataImportChannel
-
initializeApplicationHandler
default void initializeApplicationHandler()Derived classes are required to call this method after construction. This is generally codified in a factory method. -
handleUnexpectedMessage
default void handleUnexpectedMessage(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull DataImportChannelType type) -
handleProtocolError
default void handleProtocolError(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull String explanation) -
handleReject
default void handleReject(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull String reason) -
handleReadException
default void handleReadException(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull Exception exception) -
handleDisconnection
default void handleDisconnection(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel) -
sendReject
Send a rejection message via this channel processor's channel, and close the channel.- Parameters:
message
- The text of the rejection message
-
sendReject
Send a rejection message via this channel processor's channel, and close the channel.- Parameters:
message
- The prefix of the rejection messagecause
- The cause of the rejection
-
sendReject
default void sendReject(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull com.fishlib.io.logger.Logger log, @NotNull String logPrefix, @NotNull String message, @NotNull Exception cause)Send a rejection via the specified channel, and close the channel.- Parameters:
channel
- The channellog
- The loglogPrefix
- The log prefixmessage
- The messagecause
- The cause
-
sendReject
static void sendReject(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull com.fishlib.io.logger.Logger log, @NotNull String logPrefix, @NotNull String message)Send a rejection via the specified channel, and close the channel.- Parameters:
channel
- The channellog
- The loglogPrefix
- The log prefixmessage
- The message
-
handleApplicationMessage
void handleApplicationMessage(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull DataImportChannelItem item)Handle an application-level message.- Parameters:
channel
- The channelitem
- The message
-