Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
|
Superclass for OpenIGTLink server. More...
#include <mitkIGTLServer.h>
Public Types | |
typedef std::list< igtl::Socket::Pointer > | SocketListType |
typedef SocketListType::iterator | SocketListIteratorType |
Public Types inherited from mitk::IGTLDevice | |
enum | IGTLDeviceState { Setup, Ready, Running } |
Type for state variable. The IGTLDevice is always in one of these states. More... | |
Public Member Functions | |
mitkClassMacro (IGTLServer, IGTLDevice) | |
mitkNewMacro1Param (Self, bool) | |
Pointer | Clone () const |
bool | OpenConnection () override |
Initialize the connection for the IGTLServer. More... | |
bool | CloseConnection () override |
Closes the connection to the device. More... | |
unsigned int | GetNumberOfConnections () override |
Returns the number of client connections of this device. More... | |
Public Member Functions inherited from mitk::IGTLDevice | |
mitkClassMacroItkParent (IGTLDevice, itk::Object) | |
IGTLDevice (bool ReadFully) | |
virtual bool | StopCommunication () |
Stops the communication between the two devices. More... | |
bool | StartCommunication () |
Starts the communication between the two devices. More... | |
void | RunCommunication (void(IGTLDevice::*ComFunction)(void), std::mutex &mutex) |
Continuously calls the given function. More... | |
void | SendMessage (mitk::IGTLMessage::Pointer msg) |
Adds the given message to the sending queue. More... | |
IGTLDeviceState | GetState () const |
Returns current object state (Setup, Ready or Running) More... | |
igtl::MessageBase::Pointer | GetNextCommand () |
Returns the oldest message in the command queue. More... | |
igtl::ImageMessage::Pointer | GetNextImage2dMessage () |
Returns the oldest message in the receive queue. More... | |
igtl::ImageMessage::Pointer | GetNextImage3dMessage () |
igtl::TransformMessage::Pointer | GetNextTransformMessage () |
igtl::TrackingDataMessage::Pointer | GetNextTrackingDataMessage () |
igtl::StringMessage::Pointer | GetNextStringMessage () |
igtl::MessageBase::Pointer | GetNextMiscMessage () |
virtual void | SetPortNumber (int _arg) |
Sets the port number of the device. More... | |
virtual int | GetPortNumber () |
Returns the port number of the device. More... | |
virtual void | SetHostname (std::string _arg) |
Sets the ip/hostname of the device. More... | |
virtual std::string | GetHostname () |
Returns the ip/hostname of the device. More... | |
virtual std::string | GetName () const |
Returns the name of this device. More... | |
virtual void | SetName (std::string _arg) |
Sets the name of this device. More... | |
virtual void | SetReadFully (bool _arg) |
Advises this IGTL Device to always block until the whole message is read. More... | |
virtual mitk::IGTLMessageQueue::Pointer | GetMessageQueue () const |
Returns a const reference to the receive queue. More... | |
virtual mitk::IGTLMessageFactory::Pointer | GetMessageFactory () |
Returns the message factory. More... | |
void | ThreadStartSending () |
start method for the sending thread. More... | |
void | ThreadStartReceiving () |
start method for the receiving thread. More... | |
void | ThreadStartConnecting () |
start method for the connection thread. More... | |
virtual bool | TestConnection () |
TestConnection() tries to connect to a IGTL device on the current ip and port. More... | |
bool | SendRTSMessage (const char *type) |
Send RTS message of given type. More... | |
void | EnableNoBufferingMode (mitk::IGTLMessageQueue::Pointer queue, bool enable=true) |
Sets the buffering mode of the given queue. More... | |
void | EnableNoBufferingMode (bool enable=true) |
virtual bool | GetLogMessages () |
virtual void | SetLogMessages (bool _arg) |
Protected Member Functions | |
IGTLServer (bool ReadFully) | |
~IGTLServer () override | |
void | Connect () override |
Call this method to check for other devices that want to connect to this one. More... | |
void | Receive () override |
Call this method to receive a message. More... | |
void | Send () override |
Call this method to send a message. The message will be read from the queue. So far the message is send to all connected sockets (broadcast). More... | |
virtual void | StopCommunicationWithSocket (SocketListType &toBeRemovedSockets) |
Stops the communication with the given sockets. More... | |
void | StopCommunicationWithSocket (igtl::Socket *client) override |
Stops the communication with the given socket. More... | |
Protected Member Functions inherited from mitk::IGTLDevice | |
unsigned int | SendMessagePrivate (mitk::IGTLMessage::Pointer msg, igtl::Socket::Pointer socket) |
Sends a message. More... | |
unsigned int | ReceivePrivate (igtl::Socket *device) |
Call this method to receive a message from the given device. More... | |
void | SetState (IGTLDeviceState state) |
change object state More... | |
IGTLDevice () | |
~IGTLDevice () override | |
Protected Attributes | |
SocketListType | m_RegisteredClients |
A list with all registered clients. More... | |
std::mutex | m_ReceiveListMutex |
std::mutex | m_SentListMutex |
Protected Attributes inherited from mitk::IGTLDevice | |
IGTLDeviceState | m_State |
std::string | m_Name |
bool | m_StopCommunication |
std::mutex | m_StopCommunicationMutex |
std::mutex | m_SendingFinishedMutex |
std::mutex | m_ReceivingFinishedMutex |
std::mutex | m_ConnectingFinishedMutex |
std::mutex | m_StateMutex |
std::string | m_Hostname |
int | m_PortNumber |
igtl::Socket::Pointer | m_Socket |
mitk::IGTLMessageQueue::Pointer | m_MessageQueue |
mitk::IGTLMessageFactory::Pointer | m_MessageFactory |
bool | m_LogMessages |
Superclass for OpenIGTLink server.
Implements the IGTLDevice interface for IGTLServers. In certain points it behaves different than the IGTLClient. The client connects directly to a server (it cannot connect to two different servers) while the server can connect to several clients. Therefore, it is necessary for the server to have a list with registered sockets.
Definition at line 33 of file mitkIGTLServer.h.
typedef SocketListType::iterator mitk::IGTLServer::SocketListIteratorType |
Definition at line 41 of file mitkIGTLServer.h.
typedef std::list<igtl::Socket::Pointer> mitk::IGTLServer::SocketListType |
Definition at line 38 of file mitkIGTLServer.h.
|
protected |
Constructor
|
overrideprotected |
Destructor
Pointer mitk::IGTLServer::Clone | ( | ) | const |
|
overridevirtual |
Closes the connection to the device.
This may only be called if there is currently a connection to the device, but device is not running (e.g. object is in Ready state)
Reimplemented from mitk::IGTLDevice.
|
overrideprotectedvirtual |
Call this method to check for other devices that want to connect to this one.
In case of a client this method is doing nothing. In case of a server it is checking for other devices and if there is one it establishes a connection and adds the socket to m_RegisteredClients.
Reimplemented from mitk::IGTLDevice.
|
overridevirtual |
Returns the number of client connections of this device.
Implements mitk::IGTLDevice.
mitk::IGTLServer::mitkClassMacro | ( | IGTLServer | , |
IGTLDevice | |||
) |
mitk::IGTLServer::mitkNewMacro1Param | ( | Self | , |
bool | |||
) |
|
overridevirtual |
Initialize the connection for the IGTLServer.
OpenConnection() starts the IGTLServer socket so that clients can connect to it.
mitk::Exception | Throws an exception if the given port is occupied. |
Implements mitk::IGTLDevice.
|
overrideprotectedvirtual |
Call this method to receive a message.
The message will be saved in the receive queue.
Implements mitk::IGTLDevice.
|
overrideprotectedvirtual |
Call this method to send a message. The message will be read from the queue. So far the message is send to all connected sockets (broadcast).
Implements mitk::IGTLDevice.
|
overrideprotectedvirtual |
Stops the communication with the given socket.
This method removes the given socket from the registered clients list
Implements mitk::IGTLDevice.
|
protectedvirtual |
Stops the communication with the given sockets.
This method removes the given sockets from the registered clients list
|
protected |
mutex to control access to m_RegisteredClients
Definition at line 118 of file mitkIGTLServer.h.
|
protected |
A list with all registered clients.
Definition at line 115 of file mitkIGTLServer.h.
|
protected |
mutex to control access to m_RegisteredClients
Definition at line 121 of file mitkIGTLServer.h.