|
HARDT - The Ham Radio DSP Toolkit
|
1 #ifndef __HNETWORKPROCESSOR_H
2 #define __HNETWORKPROCESSOR_H
4 #include <netinet/in.h>
6 #include "hnetworkreader.h"
7 #include "hnetworkwriter.h"
29 struct sockaddr_in _address;
42 void InitServerDataPort();
43 void InitServerCommandPort();
45 void RunServer(
long unsigned int blocks);
46 void RunClient(
long unsigned int blocks);
47 void RunProcessor(
long unsigned int blocks);
50 void ReceiveCommands();
51 void ReadCommand(
int socket);
66 HNetworkProcessor(
const char* address,
int dataPort,
int commandPort,
int blocksize,
bool* terminationToken);
78 HNetworkProcessor(
int dataPort,
int commandPort,
int blocksize,
bool* terminationToken);
88 void Run(
long unsigned int blocks = 0);
94 bool Command(H_COMMAND_CLASS commandClass, H_COMMAND_OPCODE commandOpcode, int16_t length,
HCommandData data)
98 HLog(
"Refusing to send command since we are a server networkprocessor");
103 HLog(
"Creating command with class %d and opcode %d with length %d", commandClass, commandOpcode, length);
104 HCommand cmd = {
static_cast<int16_t
>(commandClass),
static_cast<int16_t
>(commandOpcode), length, data};
109 HLog(
"Sending command to reader chain");
112 HError(
"Error when sending command to reader chain");
118 HLog(
"Sending command to writer chain");
121 HError(
"Error when sending command to writer chain");
127 HLog(
"Sending command to remote (server)");
128 if( !SendCommand(&cmd) )
130 HError(
"ERror when sending command to rmote end (the server)");
135 HLog(
"Command sent successfully");
Definition: hprocessor.h:24
void Run(long unsigned int blocks=0)
Definition: hnetworkprocessor.cpp:278
Definition: hnetworkreader.h:10
HNetworkProcessor(const char *address, int dataPort, int commandPort, HWriter< T > *writer, int blocksize, bool *terminationToken)
Definition: hnetworkprocessor.cpp:24
bool Command(H_COMMAND_CLASS commandClass, H_COMMAND_OPCODE commandOpcode, int16_t length, HCommandData data)
Definition: hnetworkprocessor.h:94
Definition: hcommand.h:81
~HNetworkProcessor()
Definition: hnetworkprocessor.cpp:138
Definition: hcommand.h:68
void Halt()
Definition: hnetworkprocessor.cpp:413
Definition: hnetworkwriter.h:12
Definition: hnetworkprocessor.h:20