Package org.yamcs.sle.user
Class RafServiceUserHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- org.yamcs.sle.user.AbstractServiceUserHandler
-
- org.yamcs.sle.user.RacfServiceUserHandler
-
- org.yamcs.sle.user.RafServiceUserHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class RafServiceUserHandler extends RacfServiceUserHandler
Implementation for the CCSDS RECOMMENDED STANDARD FOR SLE RCF SERVICE CCSDS 911.2-B-3 August 2016 https://public.ccsds.org/Pubs/911x1b4.pdfThis class contains RAF specific implementation
- Author:
- nm
-
-
Field Summary
-
Fields inherited from class org.yamcs.sle.user.AbstractServiceUserHandler
attr, authLevel, channelHandlerContext, monitors, startingCf, state
-
-
Constructor Summary
Constructors Constructor Description RafServiceUserHandler(Isp1Authentication auth, SleAttributes attr, Constants.DeliveryMode deliveryMode, FrameConsumer consumer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMonitor(RacfSleMonitor monitor)Add a monitor to be notified when events happen.protected Constants.ApplicationIdentifiergetApplicationIdentifier()CompletableFuture<SleParameter>getParameter(int parameterId)Get the value of an RAF parameter from the providerConstants.RequestedFrameQualitygetRequestedFrameQuality()protected voidprocessData(com.beanit.jasn1.ber.BerTag berTag, InputStream is)voidremoveMonitor(RacfSleMonitor monitor)protected voidsendStart(CompletableFuture<Void> cf, CcsdsTime start, CcsdsTime stop)voidsetRequestedFrameQuality(Constants.RequestedFrameQuality requestedFrameQuality)Set the requested frame quality.CompletableFuture<Void>start()Request that the SLE service provider starts sending dataCompletableFuture<Void>start(CcsdsTime startTime, CcsdsTime stopTime)Request that the SLE service provider starts sending-
Methods inherited from class org.yamcs.sle.user.RacfServiceUserHandler
getDeliveryMode, setDeliveryMode
-
Methods inherited from class org.yamcs.sle.user.AbstractServiceUserHandler
bind, changeState, channelActive, channelRead, channelRegistered, checkUnbound, exceptionCaught, getAuthLevel, getFuture, getInvokeId, getInvokeId, getNonBindCredentials, getState, getVersionNumber, isConnected, notifyDisconnected, peerAbort, processBindInvocation, processStopReturn, processUnbindInvocation, schedulePeriodicStatusReport, setAuthLevel, setVersionNumber, shutdown, stop, stopPeriodicStatusReport, unbind, verifyBindCredentials, verifyNonBindCredentials
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelInactive, channelReadComplete, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
RafServiceUserHandler
public RafServiceUserHandler(Isp1Authentication auth, SleAttributes attr, Constants.DeliveryMode deliveryMode, FrameConsumer consumer)
-
-
Method Detail
-
getParameter
public CompletableFuture<SleParameter> getParameter(int parameterId)
Get the value of an RAF parameter from the provider- Specified by:
getParameterin classRacfServiceUserHandler- Parameters:
parameterId- one of the parameters defined inConstants.ParameterName. Note that not all of them make sense for the RAF, see the table 3-11 in the standard to see which ones make sense.- Returns:
-
start
public CompletableFuture<Void> start()
Request that the SLE service provider starts sending data- Returns:
-
start
public CompletableFuture<Void> start(CcsdsTime startTime, CcsdsTime stopTime)
Request that the SLE service provider starts sending- Returns:
-
getRequestedFrameQuality
public Constants.RequestedFrameQuality getRequestedFrameQuality()
-
setRequestedFrameQuality
public void setRequestedFrameQuality(Constants.RequestedFrameQuality requestedFrameQuality)
Set the requested frame quality. This has to be done before the service start.- Parameters:
requestedFrameQuality-
-
addMonitor
public void addMonitor(RacfSleMonitor monitor)
Add a monitor to be notified when events happen.- Overrides:
addMonitorin classRacfServiceUserHandler- Parameters:
monitor-
-
removeMonitor
public void removeMonitor(RacfSleMonitor monitor)
- Overrides:
removeMonitorin classRacfServiceUserHandler
-
processData
protected void processData(com.beanit.jasn1.ber.BerTag berTag, InputStream is) throws IOException- Specified by:
processDatain classAbstractServiceUserHandler- Throws:
IOException
-
sendStart
protected void sendStart(CompletableFuture<Void> cf, CcsdsTime start, CcsdsTime stop)
-
getApplicationIdentifier
protected Constants.ApplicationIdentifier getApplicationIdentifier()
- Specified by:
getApplicationIdentifierin classAbstractServiceUserHandler
-
-