public class CltuServiceProvider extends Object implements SleService
https://public.ccsds.org/Pubs/912x1b4.pdf
This class implements queueing for CLTUs and it relies on a CltuUplinker to uplink the CLTUs one by one.
Due to the java 8 limitations the uplink of the timed CLTUs (those with a defined earliestTransmissionTime) is not
very precise - with the current implementation it will be probably sent 1-2 milliseconds later than the time specified.
If better precision is required, this has to be changed to send the CLTU a few milliseconds in
advance together with the time and the CltuUplinker should take care of the exact transmission start.
In any case the CltuUplinker has to return the time when the CLTU has been eventually radiated.
| Constructor and Description |
|---|
CltuServiceProvider(CltuUplinker cltuUplinker) |
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Called by the
SleProvider when the connection has been abruptly terminated. |
State |
getState()
Returns the service state.
|
void |
init(SleProvider server)
Called at the beginning.
|
void |
processData(com.beanit.jasn1.ber.BerTag berTag,
InputStream is)
Called each time a message is received from the peer (SLE user) which cannot be processed by the
SleProvider. |
protected void |
processSleStopInvocation(SleStopInvocation sleStopInvocation) |
void |
sendStatusReport() |
void |
unbind()
Called by the
SleProvider when the user sent an UNBIND request. |
public CltuServiceProvider(CltuUplinker cltuUplinker)
public void init(SleProvider server)
SleServiceinit in interface SleServicepublic void processData(com.beanit.jasn1.ber.BerTag berTag,
InputStream is)
throws IOException
SleServiceSleProvider.
The messages are not necessary valid. The service can always call the SleProvider.peerAbort() operation
on the provider if it thinks the SLE user went awry.
processData in interface SleServiceIOExceptionprotected void processSleStopInvocation(SleStopInvocation sleStopInvocation)
public void sendStatusReport()
sendStatusReport in interface SleServicepublic void abort()
SleServiceSleProvider when the connection has been abruptly terminated. The Service has to do
necessary cleanup operation.abort in interface SleServicepublic void unbind()
SleServiceSleProvider when the user sent an UNBIND request. The provider will verify that the service
is in the State.READY when calling this method.unbind in interface SleServicepublic State getState()
SleService
Should be one of State.READY or State.ACTIVE
getState in interface SleServiceCopyright © 2020 Space Applications Services. All rights reserved.