BowlerKernel
Public Member Functions | Private Member Functions | Private Attributes | List of all members
com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer Class Referenceabstract
Inheritance diagram for com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer:
Inheritance graph
[legend]
Collaboration diagram for com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer:
Collaboration graph
[legend]

Public Member Functions

 BowlerAbstractServer (MACAddress mac)
 
void addBowlerDeviceServerNamespace (BowlerAbstractDeviceServerNamespace ns)
 
void removeBowlerDeviceServerNamespace (BowlerAbstractDeviceServerNamespace ns)
 
ArrayList< BowlerAbstractConnectiongetServers ()
 
void startNetworkServer (final int port) throws IOException
 
void startNetworkServer () throws IOException
 
void addServer (BowlerAbstractConnection srv)
 
BowlerDatagram onSyncReceive (BowlerDatagram data)
 
void pushAsyncPacket (int namespaceIndex, String namespace, String rpcString, Object[] arguments, BowlerDataType[] asyncArguments)
 
synchronized void pushAsyncPacket (BowlerDatagram data)
 
ArrayList< BowlerAbstractDeviceServerNamespacegetNamespaces ()
 
void setNamespaces (ArrayList< BowlerAbstractDeviceServerNamespace > namespaces)
 
MACAddress getMacAddress ()
 
void setMacAddress (MACAddress macAddress)
 

Private Member Functions

void setup ()
 
BowlerDatagram processLocal (BowlerDatagram data)
 
void removeServer (BowlerAbstractConnection b)
 

Private Attributes

ArrayList< BowlerAbstractConnectionservers = new ArrayList<BowlerAbstractConnection>()
 
ArrayList< BowlerAbstractConnectionlocalServers = new ArrayList<BowlerAbstractConnection>()
 
ArrayList< BowlerAbstractDeviceServerNamespacenamespaces = new ArrayList<BowlerAbstractDeviceServerNamespace>()
 
BcsCoreNamespaceImp bcsCore
 
BcsRpcNamespaceImp bcsRpc
 
BowlerUDPServer udpServer
 
MACAddress macAddress
 

Detailed Description

The Class BowlerAbstractServer.

Definition at line 37 of file BowlerAbstractServer.java.

Constructor & Destructor Documentation

◆ BowlerAbstractServer()

com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.BowlerAbstractServer ( MACAddress  mac)

Member Function Documentation

◆ addBowlerDeviceServerNamespace()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.addBowlerDeviceServerNamespace ( BowlerAbstractDeviceServerNamespace  ns)

◆ addServer()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.addServer ( BowlerAbstractConnection  srv)

◆ getMacAddress()

MACAddress com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.getMacAddress ( )

Gets the mac address.

Returns
the mac address

Definition at line 388 of file BowlerAbstractServer.java.

References com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.macAddress.

◆ getNamespaces()

ArrayList<BowlerAbstractDeviceServerNamespace> com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.getNamespaces ( )

◆ getServers()

ArrayList<BowlerAbstractConnection> com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.getServers ( )

◆ onSyncReceive()

BowlerDatagram com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.onSyncReceive ( BowlerDatagram  data)

◆ processLocal()

BowlerDatagram com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.processLocal ( BowlerDatagram  data)
private

◆ pushAsyncPacket() [1/2]

synchronized void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.pushAsyncPacket ( BowlerDatagram  data)

◆ pushAsyncPacket() [2/2]

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.pushAsyncPacket ( int  namespaceIndex,
String  namespace,
String  rpcString,
Object[]  arguments,
BowlerDataType[]  asyncArguments 
)

THis is the scripting interface to Bowler devices. THis allows a user to describe a namespace, rpc, and array or arguments to be paced into the packet based on the data types of the argument. The response in likewise unpacked into an array of objects.

Parameters
namespaceIndexthe namespace index
namespaceThe string of the desired namespace
rpcStringThe string of the desired RPC
argumentsAn array of objects corresponding to the data to be stuffed into the packet.
asyncArgumentsthe async arguments
Exceptions
DeviceConnectionExceptionIf the desired RPC's are not available then this will be thrown

Definition at line 289 of file BowlerAbstractServer.java.

References com.neuronrobotics.sdk.common.BowlerMethod.ASYNCHRONOUS, com.neuronrobotics.sdk.common.Log.debug(), and com.neuronrobotics.sdk.common.BowlerAbstractConnection.getCommand().

Referenced by com.neuronrobotics.sdk.common.device.server.BowlerDeviceReServerNamespace.BowlerDeviceReServerNamespace(), com.neuronrobotics.sdk.namespace.bcs.pid.PidDeviceServer.onPIDEvent(), and com.neuronrobotics.sdk.namespace.bcs.pid.PidDeviceServer.onPIDLimitEvent().

Here is the call graph for this function:

◆ removeBowlerDeviceServerNamespace()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.removeBowlerDeviceServerNamespace ( BowlerAbstractDeviceServerNamespace  ns)

Removes the bowler device server namespace.

Parameters
nsthe ns

Definition at line 113 of file BowlerAbstractServer.java.

References com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.getNamespaces(), and com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.setup().

Here is the call graph for this function:

◆ removeServer()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.removeServer ( BowlerAbstractConnection  b)
private

◆ setMacAddress()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.setMacAddress ( MACAddress  macAddress)

◆ setNamespaces()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.setNamespaces ( ArrayList< BowlerAbstractDeviceServerNamespace namespaces)

Sets the namespaces.

Parameters
namespacesthe new namespaces

Definition at line 378 of file BowlerAbstractServer.java.

References com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.namespaces.

◆ setup()

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.setup ( )
private

◆ startNetworkServer() [1/2]

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.startNetworkServer ( ) throws IOException

Start network server.

Exceptions
IOExceptionSignals that an I/O exception has occurred.

Definition at line 194 of file BowlerAbstractServer.java.

Referenced by com.neuronrobotics.sdk.namespace.bcs.pid.PidDeviceServer.PidDeviceServer().

◆ startNetworkServer() [2/2]

void com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.startNetworkServer ( final int  port) throws IOException

Start network server.

Parameters
portthe port
Exceptions
IOExceptionSignals that an I/O exception has occurred.

Definition at line 163 of file BowlerAbstractServer.java.

References com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.addServer(), com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.udpServer, and com.neuronrobotics.sdk.common.Log.warning().

Here is the call graph for this function:

Member Data Documentation

◆ bcsCore

BcsCoreNamespaceImp com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.bcsCore
private

◆ bcsRpc

BcsRpcNamespaceImp com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.bcsRpc
private

◆ localServers

ArrayList<BowlerAbstractConnection> com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.localServers = new ArrayList<BowlerAbstractConnection>()
private

◆ macAddress

MACAddress com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.macAddress
private

◆ namespaces

ArrayList<BowlerAbstractDeviceServerNamespace> com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.namespaces = new ArrayList<BowlerAbstractDeviceServerNamespace>()
private

◆ servers

ArrayList<BowlerAbstractConnection> com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.servers = new ArrayList<BowlerAbstractConnection>()
private

◆ udpServer

BowlerUDPServer com.neuronrobotics.sdk.common.device.server.BowlerAbstractServer.udpServer
private

The documentation for this class was generated from the following file: