38 #ifndef __DATAPROTOCOL_H__
39 #define __DATAPROTOCOL_H__
47 #include <netinet/in.h>
48 #include <arpa/inet.h>
56 #include <QHostAddress>
58 #include <QMutexLocker>
125 int bind_port,
int peer_port);
139 QMutexLocker lock(&
mMutex);
168 #if defined (__WIN_32__)
169 virtual void setSocket(SOCKET &socket) = 0;
214 struct sockaddr_in mLocalIPv4Addr;
215 struct sockaddr_in mPeerIPv4Addr;
219 static int sClientsRunning;
221 size_t mAudioPacketSize;
Base class that defines the transmission protocol.
Definition: DataProtocol.h:94
void setUseRtPriority(bool use)
Definition: DataProtocol.h:184
bool mUseRtPriority
Definition: DataProtocol.h:228
JackTrip * mJackTrip
JackTrip mediator class.
Definition: DataProtocol.h:227
virtual void setIssueSimulation(double, double, double)
Definition: DataProtocol.h:183
volatile bool mStopped
Boolean stop the execution of the thread.
Definition: DataProtocol.h:200
void signalCeaseTransmission(const QString &reason="")
Definition: moc_DataProtocol.cpp:171
volatile bool mHasPacketsToReceive
Boolean that indicates if a packet was received.
Definition: DataProtocol.h:204
virtual void setSocket(int &socket)=0
virtual void setPeerPort(int port)=0
Set the peer incomming (receiving) port number.
DataProtocol(JackTrip *jacktrip, const runModeT runmode, int bind_port, int peer_port)
The class constructor.
Definition: DataProtocol.cpp:52
virtual ~DataProtocol()
The class destructor.
Definition: DataProtocol.cpp:60
void signalReceivedConnectionFromPeer()
Definition: moc_DataProtocol.cpp:165
QMutex mMutex
Definition: DataProtocol.h:205
virtual void stop()
Stops the execution of the Thread.
Definition: DataProtocol.h:138
size_t getAudioPacketSizeInBites()
Get the size of the audio part of the packets.
Definition: DataProtocol.h:151
volatile bool mHasPeerAddress
Boolean to indicate if the RECEIVER is waiting to obtain peer address.
Definition: DataProtocol.h:202
virtual bool getStats(PktStat *)
Definition: DataProtocol.h:181
runModeT
Enum to define class modes, SENDER or RECEIVER.
Definition: DataProtocol.h:108
@ SENDER
Set class as a Sender (send packets)
Definition: DataProtocol.h:109
@ RECEIVER
Set class as a Receiver (receives packets)
Definition: DataProtocol.h:110
virtual void run()=0
Implements the thread loop.
void signalError(const char *error_message)
Definition: moc_DataProtocol.cpp:158
packetHeaderTypeT
Enum to define packet header types.
Definition: DataProtocol.h:101
@ DEFAULT
Default application header.
Definition: DataProtocol.h:102
@ EMPTY
Empty Header.
Definition: DataProtocol.h:104
@ JAMLINK
Header to use with Jamlinks.
Definition: DataProtocol.h:103
virtual void setPeerAddress(const char *peerHostOrIP)=0
Set the peer address.
void setAudioPacketSize(const size_t size_bytes)
Sets the size of the audio part of the packets.
Definition: DataProtocol.h:146
runModeT getRunMode() const
Get the Run Mode of the object.
Definition: DataProtocol.h:197
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition: JackTrip.h:72
quint32 uint32_t
Typedef for unsigned int. This type is guaranteed to be 32-bit.
Definition: jacktrip_types.h:73
Definition: DataProtocol.h:174
uint32_t outOfOrder
Definition: DataProtocol.h:177
uint32_t revived
Definition: DataProtocol.h:178
uint32_t statCount
Definition: DataProtocol.h:179
uint32_t lost
Definition: DataProtocol.h:176
uint32_t tot
Definition: DataProtocol.h:175