public DirectionalRouting(AHAddress local, ConnectionList structs) {
_NULL_TRUE = new Pair<Connection, bool>(null, true);
_NULL_FALSE = new Pair<Connection, bool>(null, false);
Connection left_c = null;
Connection right_c = null;
if( structs.Count > 0) {
int local_idx = ~structs.IndexOf(local);
int left_idx = local_idx;
int right_idx = left_idx - 1;
left_c = structs[left_idx];
right_c = structs[right_idx];
}
_LEFT_FALSE = new Pair<Connection, bool>(left_c, false);
_RIGHT_FALSE = new Pair<Connection, bool>(right_c, false);
_LEFT_TRUE = new Pair<Connection, bool>(left_c, true);
_RIGHT_TRUE = new Pair<Connection, bool>(right_c, true);
}