Class BaSyxTCPServer<T extends org.eclipse.basyx.vab.modelprovider.api.IModelProvider>

  • All Implemented Interfaces:
    java.lang.Runnable, org.eclipse.basyx.vab.service.api.BaSyxService

    public class BaSyxTCPServer<T extends org.eclipse.basyx.vab.modelprovider.api.IModelProvider>
    extends java.lang.Object
    implements java.lang.Runnable, org.eclipse.basyx.vab.service.api.BaSyxService
    BaSyx TCP server thread. Taken over from BaSyx to use the modified VABBaSyxTCPInterface.
    Author:
    kuhn
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean exit
      Exit flag.
      private static org.slf4j.Logger logger  
      protected java.lang.String name
      Store name.
      protected T providerBackend
      Reference to IModelProvider backend.
      protected java.nio.channels.ServerSocketChannel serverSockChannel
      Store server socket channel instance.
      protected java.lang.Thread thread
      Store thread.
    • Constructor Summary

      Constructors 
      Constructor Description
      BaSyxTCPServer​(T modelProviderBackend)
      Default constructor without port number.
      BaSyxTCPServer​(T modelProviderBackend, int serverPort)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acceptIncomingConnection()
      Accept an incoming connection.
      java.lang.String getName()
      Return service name.
      boolean hasEnded()
      Indicate if this service has ended.
      void run()
      Thread main method.
      org.eclipse.basyx.vab.service.api.BaSyxService setName​(java.lang.String newName)
      Change service name.
      protected void shutdown()
      End server.
      void start()
      Start the server.
      void stop()
      Stop the server and block until the server thread is finished.
      void waitFor()
      Wait for end of runnable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        private static org.slf4j.Logger logger
      • serverSockChannel

        protected java.nio.channels.ServerSocketChannel serverSockChannel
        Store server socket channel instance.
      • providerBackend

        protected T extends org.eclipse.basyx.vab.modelprovider.api.IModelProvider providerBackend
        Reference to IModelProvider backend.
      • exit

        protected boolean exit
        Exit flag.
      • thread

        protected java.lang.Thread thread
        Store thread.
      • name

        protected java.lang.String name
        Store name.
    • Constructor Detail

      • BaSyxTCPServer

        public BaSyxTCPServer​(T modelProviderBackend,
                              int serverPort)
        Constructor.
        Parameters:
        modelProviderBackend - the backend to use
        serverPort - the server port
      • BaSyxTCPServer

        public BaSyxTCPServer​(T modelProviderBackend)
        Default constructor without port number.
        Parameters:
        modelProviderBackend - the backend to use
    • Method Detail

      • run

        public void run()
        Thread main method.
        Specified by:
        run in interface java.lang.Runnable
      • acceptIncomingConnection

        public void acceptIncomingConnection()
        Accept an incoming connection.
      • shutdown

        protected void shutdown()
        End server.
      • start

        public void start()
        Start the server.
        Specified by:
        start in interface org.eclipse.basyx.vab.service.api.BaSyxService
      • stop

        public void stop()
        Stop the server and block until the server thread is finished.
        Specified by:
        stop in interface org.eclipse.basyx.vab.service.api.BaSyxService
      • setName

        public org.eclipse.basyx.vab.service.api.BaSyxService setName​(java.lang.String newName)
        Change service name.
        Specified by:
        setName in interface org.eclipse.basyx.vab.service.api.BaSyxService
      • getName

        public java.lang.String getName()
        Return service name.
        Specified by:
        getName in interface org.eclipse.basyx.vab.service.api.BaSyxService
      • waitFor

        public void waitFor()
        Wait for end of runnable.
        Specified by:
        waitFor in interface org.eclipse.basyx.vab.service.api.BaSyxService
      • hasEnded

        public boolean hasEnded()
        Indicate if this service has ended.
        Specified by:
        hasEnded in interface org.eclipse.basyx.vab.service.api.BaSyxService
        Returns:
        if this service has ended