Package org.yamcs.sle.user
Class RcfServiceUserHandler
- 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.RcfServiceUserHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class RcfServiceUserHandler extends RacfServiceUserHandler
Implementation for the CCSDS RECOMMENDED STANDARD FOR SLE RAF SERVICE CCSDS 911.1-B-4 August 2016 https://public.ccsds.org/Pubs/911x1b4.pdfThis is copy and paste from
RafServiceUserHandlerbecause the RAF and RCF are almost the same but slightly so different (seems like the CCSDS committee was missing from school when the lessons about code reused has been taught).We do however provide one common RAF/RCF interface to our users highlighting the small differences in the API.
- Author:
- nm
-
-
Field Summary
-
Fields inherited from class org.yamcs.sle.user.AbstractServiceUserHandler
attr, authLevel, channelHandlerContext, monitors, startingCf, state
-
-
Constructor Summary
Constructors Constructor Description RcfServiceUserHandler(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 providerprotected voidprocessData(com.beanit.jasn1.ber.BerTag berTag, InputStream is)voidremoveMonitor(RacfSleMonitor monitor)protected voidsendStart(CompletableFuture<Void> cf, CcsdsTime start, CcsdsTime stop, GVCID requestedGvcid)CompletableFuture<Void>start(CcsdsTime startTime, CcsdsTime stopTime, GVCID requestedGvcid)Request that the SLE service provider starts sendingCompletableFuture<Void>start(GVCID requestedGvcid)Request that the SLE service provider starts sending data-
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
-
RcfServiceUserHandler
public RcfServiceUserHandler(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(CcsdsTime startTime, CcsdsTime stopTime, GVCID requestedGvcid)
Request that the SLE service provider starts sending- Returns:
-
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
-
start
public CompletableFuture<Void> start(GVCID requestedGvcid)
Request that the SLE service provider starts sending data- Returns:
-
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, GVCID requestedGvcid)
-
getApplicationIdentifier
protected Constants.ApplicationIdentifier getApplicationIdentifier()
- Specified by:
getApplicationIdentifierin classAbstractServiceUserHandler
-
-