Class ModemDecoderImpl

  • All Implemented Interfaces:
    Decoder, DemodulatorStatusAccessor, ModemDecoder, org.refcodes.component.Closable, org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.ClosedAccessor, org.refcodes.component.ConnectableComponent, org.refcodes.component.ConnectableComponent.ConnectableAutomaton, org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.OpenedAccessor, org.refcodes.io.ByteBlockProvider, org.refcodes.io.ByteBlockReceiver, org.refcodes.io.ByteDatagramProvider, org.refcodes.io.ByteDatagramReceiver, org.refcodes.io.ByteProvider, org.refcodes.io.ByteReceiver, org.refcodes.io.Receivable, org.refcodes.mixin.Releaseable
    Direct Known Subclasses:
    ModemDecoderImpl.ModemByteDecoderProviderImpl, ModemDecoderImpl.ModemShortDecoderProviderImpl


    public class ModemDecoderImpl
    extends org.refcodes.io.AbstractByteReceiver
    implements ModemDecoder
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.refcodes.io.ByteReceiver _byteReceiver  
      protected LinkedBlockingQueue<Byte> _datagramQueue  
      protected ModemMetrics _modemMetrics  
      protected org.refcodes.io.ShortReceiver _shortReceiver  
      • Fields inherited from class org.refcodes.io.AbstractByteProvider

        DATAGRAM_QUEUE_SIZE
      • Fields inherited from class org.refcodes.io.AbstractByteReceiver

        _automaton
      • Fields inherited from interface org.refcodes.mixin.Loggable

        RUNTIME_LOGGER_CLASS, RUNTIME_LOGGER_FACTORY_CLASS, RUNTIME_LOGGER_FACTORY_METHOD
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      DemodulatorStatus getDemodulatorStatus​()
      Retrieves the Demodulator-Status from the Demodulator-Status property.
      boolean hasDatagram​()  
      byte readDatagram​()
      byte[] readDatagrams​()
      byte[] readDatagrams​(int aBlockSize)
      • Methods inherited from class org.refcodes.io.AbstractByteProvider

        pushDatagram, pushDatagrams, pushDatagrams
      • Methods inherited from class org.refcodes.io.AbstractByteReceiver

        close, getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, releaseAll, setConnectionStatus
      • Methods inherited from interface org.refcodes.component.Closable

        close, closeIn, closeQuietly, closeUnchecked
      • Methods inherited from interface org.refcodes.component.Closable.CloseAutomaton

        isClosable
      • Methods inherited from interface org.refcodes.component.ClosedAccessor

        isClosed
      • Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor

        getConnectionStatus, isConnectionOpened
      • Methods inherited from interface org.refcodes.mixin.Loggable

        alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
      • Methods inherited from interface org.refcodes.component.OpenedAccessor

        isOpened
      • Methods inherited from interface org.refcodes.mixin.Releaseable

        releaseAll
    • Field Detail

      • _byteReceiver

        protected org.refcodes.io.ByteReceiver _byteReceiver
      • _shortReceiver

        protected org.refcodes.io.ShortReceiver _shortReceiver
    • Constructor Detail

      • ModemDecoderImpl

        public ModemDecoderImpl​(ModemMetrics aModemMetrics,
                                org.refcodes.io.ByteProvider aByteProvider)
      • ModemDecoderImpl

        public ModemDecoderImpl​(ModemMetrics aModemMetrics,
                                org.refcodes.io.ShortProvider aShortProvider)
      • ModemDecoderImpl

        public ModemDecoderImpl​(ModemMetrics aModemMetrics,
                                org.refcodes.io.ShortReceiver aShortReceiver)
      • ModemDecoderImpl

        public ModemDecoderImpl​(ModemMetrics aModemMetrics,
                                org.refcodes.io.ByteReceiver aByteReceiver)
      • ModemDecoderImpl

        protected ModemDecoderImpl​(ModemMetrics aModemMetrics)
    • Method Detail

      • readDatagrams

        public byte[] readDatagrams​()
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteBlockProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteReceiver
        Overrides:
        readDatagrams in class org.refcodes.io.AbstractByteReceiver
      • hasDatagram

        public boolean hasDatagram​()
        Specified by:
        hasDatagram in interface org.refcodes.io.Receivable
        Overrides:
        hasDatagram in class org.refcodes.io.AbstractByteReceiver
      • readDatagrams

        public byte[] readDatagrams​(int aBlockSize)
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteBlockProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteReceiver
        Overrides:
        readDatagrams in class org.refcodes.io.AbstractByteReceiver
      • readDatagram

        public byte readDatagram​()
                          throws org.refcodes.component.OpenException,
                                 InterruptedException
        Specified by:
        readDatagram in interface org.refcodes.io.ByteDatagramProvider
        Overrides:
        readDatagram in class org.refcodes.io.AbstractByteReceiver
        Throws:
        org.refcodes.component.OpenException
        InterruptedException