- // FIXME - debería tirar una excepción?
- if (!socket->is_open()) {
- std::cerr << "No se pudo conectar a " << socket->peerhost() <<
- ":" << socket->peerport() << "." << std::endl;
- } else {
- std::cerr << "Conectado a " << socket->peerhost() <<
- ":" << socket->peerport() << "." << std::endl;
+#ifdef DEBUG
+ cerr << __FILE__ << "(" << __LINE__ << ")"
+ << ": real_run()." << endl;
+#endif // DEBUG
+ // No hace nada, porque solo actua cuando se manda algo con send().
+ while (!stop()) {
+ Glib::usleep(500000); // 1/2 segundo
+ }
+}
+
+void Transmitter::send(const string& data) {
+#ifdef DEBUG
+ cerr << __FILE__ << "(" << __LINE__ << ")"
+ << ": send()." << endl;
+// << ": send(data = " << data << ")." << endl;
+#endif // DEBUG
+ if (stop()) {
+ return;
+ }
+ try {
+ socket << data << flush;
+ } catch (const sockerr& e) {
+ signal_error().emit(e.serrno(), e.errstr());
+ stop(true);