Quellcode durchsuchen

remove dead code
circuits no longer queue more cells when the windows are empty --
they simply don't package it from the buffer if they're not going to want it.

we can restore this code later if we need to resume queueing.


svn:r294

Roger Dingledine vor 21 Jahren
Ursprung
Commit
1c6def292b
4 geänderte Dateien mit 1 neuen und 109 gelöschten Zeilen
  1. 1 62
      src/or/circuit.c
  2. 0 32
      src/or/command.c
  3. 0 7
      src/or/onion.c
  4. 0 8
      src/or/or.h

+ 1 - 62
src/or/circuit.c

@@ -228,36 +228,16 @@ int circuit_deliver_relay_cell_from_edge(cell_t *cell, circuit_t *circ,
     cell_direction = CELL_DIRECTION_OUT;
     numsent_ap++;
     log(LOG_DEBUG,"circuit_deliver_relay_cell_from_edge(): now sent %d relay cells from ap", numsent_ap);
-#if 0
-    if(layer_hint->package_window <= 0) {
-      log(LOG_DEBUG,"circuit_deliver_relay_cell_from_edge(): package_window 0, queueing for later.");
-      circ->relay_queue = relay_queue_add(circ->relay_queue, cell, layer_hint);
-      return 0;
-    }
-    layer_hint->package_window--;
-//    log(LOG_INFO,"circuit_deliver_relay_cell_from_edge(): package_window now %d.",layer_hint->package_window);
-#endif
   } else { /* i'm the exit */
     cell_direction = CELL_DIRECTION_IN;
-//    assert(layer_hint == NULL);
-//    assert(circ->cpath == NULL);
     numsent_exit++;
     log(LOG_DEBUG,"circuit_deliver_relay_cell_from_edge(): now sent %d relay cells from exit", numsent_exit);
-#if 0
-    if(circ->package_window <= 0) {
-      log(LOG_DEBUG,"circuit_deliver_relay_cell_from_edge(): package_window 0, queueing for later.");
-      circ->relay_queue = relay_queue_add(circ->relay_queue, cell, layer_hint);
-      return 0;
-    }
-    circ->package_window--;
-#endif
   }
 
   if(circuit_deliver_relay_cell(cell, circ, cell_direction, layer_hint) < 0) {
     return -1;
   }
 
-//  circuit_consider_stop_edge_reading(circ, edge_type, layer_hint); /* has window reached 0? */
   return 0;
 }
 
@@ -344,9 +324,8 @@ int relay_crypt(circuit_t *circ, char *in, int inlen, char cell_direction,
 
         thishop = thishop->next;
       } while(thishop != circ->cpath && thishop->state == CPATH_STATE_OPEN);
-      log(LOG_INFO,"relay_crypt(): in-cell at OP not recognized. Killing circuit.");
+      log(LOG_INFO,"relay_crypt(): in-cell at OP not recognized. Dropping.");
       return 0;
-//      return -1;
     } else { /* we're in the middle. Just one crypt. */
 
       log(LOG_DEBUG,"relay_crypt(): before encrypt: %d",*(int*)(in+2));
@@ -448,46 +427,6 @@ void circuit_resume_edge_reading(circuit_t *circ, int edge_type, crypt_path_t *l
   assert(edge_type == EDGE_EXIT || edge_type == EDGE_AP);
 
   log(LOG_DEBUG,"circuit_resume_edge_reading(): resuming");
-#if 0
-  /* first, send the queue waiting at circ onto the circuit */
-  relay = circ->relay_queue;
-  while(relay) {
-    assert(relay->cell);
-    if(edge_type == EDGE_EXIT) {
-      assert(relay->layer_hint == NULL);
-      circ->package_window--;
-      assert(circ->package_window >= 0);
-
-      if(circuit_deliver_relay_cell(relay->cell, circ, CELL_DIRECTION_IN, relay->layer_hint) < 0) {
-        circuit_close(circ);
-        return;
-      }
-    } else { /* ap */
-      assert(relay->layer_hint);
-      if(relay->layer_hint != layer_hint) {
-        relay=relay->next; /* this cell isn't destined for this layer. don't send it. */
-        continue;
-      }
-      relay->layer_hint->package_window--;
-      assert(relay->layer_hint->package_window >= 0);
-
-      if(circuit_deliver_relay_cell(relay->cell, circ, CELL_DIRECTION_OUT, relay->layer_hint) < 0) {
-        circuit_close(circ);
-        return;
-      }
-    }
-    victim = relay;
-    relay=relay->next;
-    if(circ->relay_queue == victim) {
-      circ->relay_queue = relay;
-    }
-    free(victim->cell);
-    free(victim);
-
-    if(circuit_consider_stop_edge_reading(circ, edge_type, layer_hint))
-      return;
-  }
-#endif
 
   if(edge_type == EDGE_EXIT)
     conn = circ->n_conn;

+ 0 - 32
src/or/command.c

@@ -172,38 +172,6 @@ void command_process_relay_cell(cell_t *cell, connection_t *conn) {
     return;
   }
 
-#if 0
-  if(cell->aci == circ->p_aci) { /* it's an outgoing cell */
-    if(--circ->p_receive_circwindow < 0) { /* is it less than 0 after decrement? */
-      log(LOG_INFO,"command_process_relay_cell(): Too many relay cells for out circuit (aci %d). Closing.", circ->p_aci);
-      circuit_close(circ);
-      return;
-    }
-    log(LOG_DEBUG,"command_process_relay_cell(): p_receive_circwindow for aci %d is %d.",circ->p_aci,circ->p_receive_circwindow);
-  }
-
-  if(cell->aci == circ->n_aci) { /* it's an ingoing cell */
-    if(--circ->n_receive_circwindow < 0) { /* is it less than 0 after decrement? */
-      log(LOG_INFO,"command_process_relay_cell(): Too many relay cells for in circuit (aci %d). Closing.", circ->n_aci);
-      circuit_close(circ);
-      return;
-    }
-    log(LOG_DEBUG,"command_process_relay_cell(): n_receive_circwindow for aci %d is %d.",circ->n_aci,circ->n_receive_circwindow);
-  }
-#endif
-
-#if 0
-  if(circ->state == CIRCUIT_STATE_ONION_WAIT) {
-    log(LOG_WARNING,"command_process_relay_cell(): circuit in onion_wait. Dropping relay cell.");
-    return;
-  }
-  if(circ->state == CIRCUIT_STATE_OR_WAIT) {
-    log(LOG_WARNING,"command_process_relay_cell(): circuit in or_wait. Dropping relay cell.");
-    return;
-  }
-#endif
-  /* circ->p_conn and n_conn are only null if we're at an edge point with no connections yet */
-
   if(cell->aci == circ->p_aci) { /* it's an outgoing cell */
     cell->aci = circ->n_aci; /* switch it */
     if(circuit_deliver_relay_cell(cell, circ, CELL_DIRECTION_OUT, conn->cpath_layer) < 0) {

+ 0 - 7
src/or/onion.c

@@ -80,7 +80,6 @@ void onion_pending_process_one(void) {
     return; /* it died on us */
   }
 
-  assert(ol_list->circ->p_conn);
   assert(ol_length > 0);
   circ = ol_list->circ;
 
@@ -399,12 +398,6 @@ crypt_path_t *onion_generate_cpath(routerinfo_t **firsthop) {
     }
     cpath = hop;
 
-#if 0
-    if (i) { /* not last hop. (last hop has 0's for these.) */
-      hop->port = rarray[route[i-1]]->or_port;
-      hop->addr = rarray[route[i-1]]->addr;
-    }
-#endif
     hop->port = rarray[route[i]]->or_port;
     hop->addr = rarray[route[i]]->addr;
 

+ 0 - 8
src/or/or.h

@@ -74,10 +74,6 @@
 
 #define OP_CONN_STATE_AWAITING_KEYS 0
 #define OP_CONN_STATE_OPEN 1
-#if 0
-#define OP_CONN_STATE_CLOSE 2 /* flushing the buffer, then will close */
-#define OP_CONN_STATE_CLOSE_WAIT 3 /* have sent a destroy, awaiting a confirmation */
-#endif
 
 /* how to read these states:
  * foo_CONN_STATE_bar_baz:
@@ -260,10 +256,6 @@ struct connection_t {
   struct crypt_path_t *cpath_layer; /* a pointer to which node in the circ this conn exits at */
   int package_window;
   int deliver_window;
-#if 0
-  int n_receive_streamwindow;
-  int p_receive_streamwindow;
-#endif
   int done_sending;
   int done_receiving;
 #ifdef USE_ZLIB