UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
replica Struct Reference
Collaboration diagram for replica:
Collaboration graph

Public Types

enum  type_t { NONE , USE_SOCK , RECOMPRESS }
 

Public Member Functions

 replica (const char *addr, uint16_t rx_port, uint16_t tx_port, int bufsize, struct module *parent, int force_ip_version)
 
 ~replica ()
 

Public Attributes

const char * host
 
string host
 
int m_tx_port
 
uint32_t magic
 
struct module mod
 
unsigned short port
 
int sock
 
std::shared_ptr< socket_udp > sock
 
sockaddr_storage sockaddr
 
socklen_t sockaddr_len
 
enum type_t type
 

Detailed Description

Definition at line 20 of file hd-rum.c.

Member Enumeration Documentation

◆ type_t

Enumerator
NONE 
USE_SOCK 
RECOMPRESS 

Definition at line 136 of file hd-rum-translator.cpp.

Constructor & Destructor Documentation

◆ replica()

replica::replica ( const char * addr,
uint16_t rx_port,
uint16_t tx_port,
int bufsize,
struct module * parent,
int force_ip_version )
inline

Definition at line 104 of file hd-rum-translator.cpp.

104 {
106 host = addr;
107 m_tx_port = tx_port;
108 sock = std::shared_ptr<socket_udp>(udp_init(addr, rx_port, tx_port, 255, force_ip_version, false), udp_exit);
109 int mode = 0;
110 int res = resolve_addrinfo(addr, tx_port, &sockaddr, &sockaddr_len, &mode);
111 if (!sock || res != 0) {
112 throw string("Cannot initialize output port!\n");
113 }
114 if (!udp_set_send_buf(sock.get(), bufsize)) {
115 fprintf(stderr, "Cannot set send buffer to %sB!\n",
116 format_in_si_units(bufsize));
117 }
120 mod.name = get_replica_mod_name(addr, tx_port);
121 mod.priv_data = this;
123 type = replica::type_t::NONE;
124 }
void module_init_default(struct module *module_data)
Definition module.c:48
void module_register(struct module *module_data, struct module *parent)
Definition module.c:82
@ MODULE_CLASS_PORT
Definition module.h:84
static char * get_replica_mod_name(const char *addr, uint16_t tx_port)
#define REPLICA_MAGIC
const char * format_in_si_units(unsigned long long int val)
Definition misc.cpp:154
void udp_exit(socket_udp *s)
Definition net_udp.c:974
socket_udp * udp_init(const char *addr, uint16_t rx_port, uint16_t tx_port, int ttl, int force_ip_version, bool multithreaded)
Definition net_udp.c:681
bool udp_set_send_buf(socket_udp *s, int size)
Definition net_udp.c:1492
int resolve_addrinfo(const char *addr, uint16_t tx_port, struct sockaddr_storage *dst, socklen_t *len, int *mode)
Definition net_udp.c:1397
enum openssl_mode mode
const char * parent
Definition settings.cpp:198
char * name
Definition module.h:129
enum module_class cls
Definition module.h:115
void * priv_data
Definition module.h:126
enum type_t type
int sock
Definition hd-rum.c:23
sockaddr_storage sockaddr
socklen_t sockaddr_len
struct module mod
const char * host
Definition hd-rum.c:21

References module::cls, format_in_si_units(), get_replica_mod_name(), host, m_tx_port, magic, mod, mode, MODULE_CLASS_PORT, module_init_default(), module_register(), module::name, parent, module::priv_data, REPLICA_MAGIC, resolve_addrinfo(), sock, sockaddr, sockaddr_len, type, udp_exit(), udp_init(), and udp_set_send_buf().

Referenced by create_output_port().

Here is the call graph for this function:

◆ ~replica()

replica::~replica ( )
inline

Definition at line 126 of file hd-rum-translator.cpp.

126 {
127 assert(magic == REPLICA_MAGIC);
129 }
void module_done(struct module *module_data)
Definition module.c:93

References magic, mod, module_done(), and REPLICA_MAGIC.

Here is the call graph for this function:

Member Data Documentation

◆ host [1/2]

const char* replica::host

Definition at line 21 of file hd-rum.c.

Referenced by replica(), and main().

◆ host [2/2]

string replica::host

Definition at line 133 of file hd-rum-translator.cpp.

◆ m_tx_port

int replica::m_tx_port

Definition at line 134 of file hd-rum-translator.cpp.

Referenced by replica().

◆ magic

uint32_t replica::magic

Definition at line 132 of file hd-rum-translator.cpp.

Referenced by replica(), and ~replica().

◆ mod

struct module replica::mod

Definition at line 131 of file hd-rum-translator.cpp.

Referenced by replica(), ~replica(), change_replica_type(), and create_output_port().

◆ port

unsigned short replica::port

Definition at line 22 of file hd-rum.c.

Referenced by main().

◆ sock [1/2]

int replica::sock

Definition at line 23 of file hd-rum.c.

Referenced by replica(), create_output_port(), and main().

◆ sock [2/2]

std::shared_ptr<socket_udp> replica::sock

Definition at line 142 of file hd-rum-translator.cpp.

◆ sockaddr

sockaddr_storage replica::sockaddr

Definition at line 143 of file hd-rum-translator.cpp.

Referenced by replica().

◆ sockaddr_len

socklen_t replica::sockaddr_len

Definition at line 144 of file hd-rum-translator.cpp.

Referenced by replica().

◆ type

enum type_t replica::type

Definition at line 141 of file hd-rum-translator.cpp.

Referenced by replica(), change_replica_type(), and create_output_port().


The documentation for this struct was generated from the following files: