+#include <time.h>
#include <talloc.h>
#include <trust_router/tr_name.h>
{
TRP_PEER *peer=talloc(memctx, TRP_PEER);
if (peer!=NULL) {
+ peer->next=NULL;
peer->server=NULL;
peer->port=0;
peer->linkcost=TRP_METRIC_INFINITY;
- peer->next=NULL;
+ peer->last_conn_attempt=(struct timespec){0,0};
}
return peer;
}
unsigned int trp_peer_get_linkcost(TRP_PEER *peer)
{
- return peer->linkcost;
+ if (peer!=NULL)
+ return peer->linkcost;
+ else
+ return 1;
}
void trp_peer_set_linkcost(TRP_PEER *peer, unsigned int linkcost)
peer->linkcost=linkcost;
}
+struct timespec *trp_peer_get_last_conn_attempt(TRP_PEER *peer)
+{
+ return &(peer->last_conn_attempt);
+}
+
+void trp_peer_set_last_conn_attempt(TRP_PEER *peer, struct timespec *time)
+{
+ peer->last_conn_attempt=*time;
+}
TRP_PTABLE *trp_ptable_new(TALLOC_CTX *memctx)
{
return TRP_ERROR;
}
+TRP_PEER *trp_ptable_find(TRP_PTABLE *ptbl, TR_NAME *gssname)
+{
+ TRP_PEER *cur=ptbl->head;
+ while ((cur!=NULL) && (0 != tr_name_cmp(trp_peer_get_gssname(cur), gssname)))
+ cur=cur->next;
+ return cur;
+}
+
char *trp_peer_to_str(TALLOC_CTX *memctx, TRP_PEER *peer, const char *sep)
{
if (sep==NULL)
talloc_free(tmpctx); /* free detritus */
return result;
}
+
+TRP_PTABLE_ITER *trp_ptable_iter_new(TALLOC_CTX *mem_ctx)
+{
+ TRP_PTABLE_ITER *iter=talloc(mem_ctx, TRP_PTABLE_ITER);
+ *iter=NULL;
+ return iter;
+}
+
+TRP_PEER *trp_ptable_iter_first(TRP_PTABLE_ITER *iter, TRP_PTABLE *ptbl)
+{
+ *iter=ptbl->head;
+ return *iter;
+}
+
+TRP_PEER *trp_ptable_iter_next(TRP_PTABLE_ITER *iter)
+{
+ *iter=(*iter)->next;
+ return *iter;
+}
+
+void trp_ptable_iter_free(TRP_PTABLE_ITER *iter)
+{
+ talloc_free(iter);
+}
+