Remove dynamic exceptions
[anna.git] / include / anna / comm / Transport.hpp
index 0cd74a6..096bc05 100644 (file)
@@ -42,6 +42,14 @@ class Message;
    sincronizarse nunca mas.
 */
 class Transport {
+
+  static const int MinOverQuotaSize = 512;
+
+  int a_overQuotaSize;
+  Message* a_inputMessage;
+
+  static Message* nullInputMessage() noexcept(false);
+
 public:
   /**
     Maximum number of bytes kept by each ClientSocket without identifying
@@ -57,7 +65,7 @@ public:
   /**
     Returns true if the transport layer has a timming control system activated.
   */
-  bool enableTimeout() const throw() { return a_enableTimeout; }
+  bool enableTimeout() const { return a_enableTimeout; }
 
   /**
     Activates the timming control system for the ClientSocket which were created
@@ -65,17 +73,17 @@ public:
     is detected in a time interval.
     \see Communicator::setTimeout.
   */
-  void activateTimeout() throw() { a_enableTimeout = true; }
+  void activateTimeout() { a_enableTimeout = true; }
 
   /**
     Deactivates the timming control system for the ClientSocket which were created
     through this transport layer.
   */
-  void deactivateTimeout() throw() { a_enableTimeout = false; }
+  void deactivateTimeout() { a_enableTimeout = false; }
 
 
   // Internal use: returns associated input message
-  Message* getInputMessage() throw(RuntimeException) {
+  Message* getInputMessage() noexcept(false) {
     return (a_inputMessage == NULL) ? nullInputMessage() : a_inputMessage;
   }
 
@@ -83,7 +91,7 @@ public:
     Returns the number of bytes reserved by this protocol for the intermediate buffer.
     @return number of bytes reserved by this protocol for the intermediate buffer.
   */
-  int getOverQuotaSize() const throw() { return a_overQuotaSize; }
+  int getOverQuotaSize() const { return a_overQuotaSize; }
 
   /**
     Establece el numero de bytes que puede mantener este procotolo para cada uno de los
@@ -93,7 +101,7 @@ public:
 
     \param overQuotaSize Numero de maximo de bytes que podemos mantener en la memoria intermedia.
   */
-  void setOverQuotaSize(const int overQuotaSize) throw() { a_overQuotaSize = (overQuotaSize >= MinOverQuotaSize) ? overQuotaSize : MinOverQuotaSize; }
+  void setOverQuotaSize(const int overQuotaSize) { a_overQuotaSize = (overQuotaSize >= MinOverQuotaSize) ? overQuotaSize : MinOverQuotaSize; }
 
   /**
      Debe calcular el tamao previsto del mensaje actual.
@@ -111,7 +119,7 @@ public:
         longitud del mensaje recibido y lanza una excepcion en este metodo el ClientSocket
         activara los sistemas de recuperacion, si es posible.
   */
-  virtual int calculeSize(const DataBlock& dataBlock) throw(RuntimeException) = 0;
+  virtual int calculeSize(const DataBlock& dataBlock) noexcept(false) = 0;
 
   /**
      Debe establecer el modo en que el protocolo va a verificar que el mensaje obtenido
@@ -127,7 +135,7 @@ public:
      \return Un bloque de memoria que contiene el mensaje recibido codificado segn las reglas del
      protocolo este protocolo de transporte
   */
-  virtual const Message* decode(const DataBlock& message) throw(RuntimeException) = 0;
+  virtual const Message* decode(const DataBlock& message) noexcept(false) = 0;
 
   /**
      Debe establecer la forma en el protocolo va a preparar el envio a la capa de transporte.
@@ -140,13 +148,13 @@ public:
      \warning De no indicarse ninguna otra implementacin devolvera el mensaje tal y como
      sea recibido.
   */
-  virtual const DataBlock& code(Message& message) throw(RuntimeException) = 0;
+  virtual const DataBlock& code(Message& message) noexcept(false) = 0;
 
   /**
      Metodo que inicializa el estado de esta capa de transporte. Sera invocado automaticamente por el
      nucleo anna.comm.
   */
-  virtual void clear() throw() { a_forCode.clear(); }
+  virtual void clear() { a_forCode.clear(); }
 
 protected:
   DataBlock a_forCode; /**< Bloque de memoria usado para guardar el contenido de la codificacion */
@@ -168,16 +176,11 @@ protected:
      Establece la instancia del mensaje asociada a este transporte.
      \param inputMessage Instancia del mensaje a asociar.
   */
-  void setInputMessage(Message* inputMessage) throw() { a_inputMessage = inputMessage; }
+  void setInputMessage(Message* inputMessage) { a_inputMessage = inputMessage; }
 
 private:
-  static const int MinOverQuotaSize = 512;
 
-  int a_overQuotaSize;
-  Message* a_inputMessage;
   bool a_enableTimeout;
-
-  static Message* nullInputMessage() throw(RuntimeException);
 };
 
 }