gov.nasa.gsfc.drl.rtstps.core.fs
Class Synchronizer

java.lang.Object
  extended by gov.nasa.gsfc.drl.rtstps.core.fs.AbstractSynchronizer
      extended by gov.nasa.gsfc.drl.rtstps.core.fs.Synchronizer

 class Synchronizer
extends AbstractSynchronizer

This class handles the frame synchronizer pattern logic for the Frame Synchronizer subsystem. The pattern must be unambiguous; a separate class handles the rare ambiguous pattern. See AbstractSynchronizer for more information.


Field Summary
 
Fields inherited from class gov.nasa.gsfc.drl.rtstps.core.fs.AbstractSynchronizer
frameLength, NOSYNC, s1, s1mask, s2, s2value, s3, s4, s5, s5mask, slippage, syncLength
 
Constructor Summary
Synchronizer(byte[] pattern, int frameLength)
          Create a Synchronizer.
 
Method Summary
(package private)  Location search(byte[] data, int dataLength, int start, int end)
          Search for sync in the data array.
 
Methods inherited from class gov.nasa.gsfc.drl.rtstps.core.fs.AbstractSynchronizer
checkSlip, checkSync, setSlip, testSync
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Synchronizer

Synchronizer(byte[] pattern,
             int frameLength)
       throws FsException
Create a Synchronizer.

Parameters:
pattern - The synchronization pattern. The length may be 1 to 4 bytes.
frameLength - The expected frame length, which includes the sync pattern.
Throws:
FsException
Method Detail

search

Location search(byte[] data,
                int dataLength,
                int start,
                int end)
Search for sync in the data array.

Specified by:
search in class AbstractSynchronizer
Parameters:
data - The data array that may contain frames.
dataLength - The actual length of the data array, which may be less than data.length.
start - A start byte in data[].
end - An end byte in data[]. It cannot detect partial sync, so it will adjust the end byte if necessary to be no greater than dataLength-syncLength.
Returns:
A location in data where the first sync pattern was detected between start and end. It returns null if it did not detect sync.