]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/src/transmitter.cpp
Se arregla el bug que hacia que el cliente levante mal archivos XML grandes.
[z.facultad/75.42/plaqui.git] / Server / src / transmitter.cpp
index b59992edfd6c44dd584b45ac041034a5f2537d34..9d0e24df263c02503e4a867ed8d75563ad5517ab 100644 (file)
@@ -64,31 +64,31 @@ Transmitter::Transmitter(const string& _host, const Connection::Port& _port)
 #endif // DEBUG
 }
 
-/// \todo debría dar una excepción (?)
-void Transmitter::real_run(void) {
+void Transmitter::real_run(void) throw() {
 #ifdef DEBUG
        cerr << __FILE__ << "(" << __LINE__ << ")"
                << ": real_run()." << endl;
 #endif // DEBUG
        // No hace nada, porque solo actua cuando se manda algo con send().
-       while (!stop) {
+       while (!stop()) {
                Glib::usleep(500000); // 1/2 segundo
        }
 }
 
 void Transmitter::send(const string& data) {
 #ifdef DEBUG
-       cerr << __FILE__ << "(" << __LINE__ << ")"
-               << ": send(data = " << data << ")." << endl;
+       cerr << __FILE__ << "(" << __LINE__ << ")" 
+               << ": send()." << endl;
+//             << ": send(data = " << data << ")." << endl;
 #endif // DEBUG
-       if (stop) {
+       if (stop()) {
                return;
        }
        try {
                socket << data << flush;
        } catch (const sockerr& e) {
-               error(e.serrno(), e.errstr());
-               stop = true;
+               signal_error().emit(e.serrno(), e.errstr());
+               stop(true);
        }
 }