return 0;
}
+/**
+ * frescan_servers_set_perceived() - update a sporadic server perceived data
+ *
+ * @net: the network instance
+ * @params: the parameters for the server
+ * @id: the identificator for the server
+ *
+ */
+
+int frescan_servers_set_perceived(frescan_network_t net,
+ const frescan_server_params_t *params,
+ frescan_ss_t id)
+{
+ the_servers_pool[net][id].params = *params;
+ return 0;
+}
+
+/**
+ * frescan_servers_commit_perceived() - commit sporadic server perceived data
+ *
+ * @net: the network instance
+ * @params: the parameters for the server
+ * @id: the identificator for the server
+ *
+ */
+
+int frescan_servers_commit_perceived(frescan_network_t net,
+ frescan_ss_t id)
+{
+
+// typedef struct {
+// frescan_server_params_t params;
+// frescan_network_t net;
+// frescan_ss_t id;
+// frescan_budget_t current_budget;
+// frescan_prio_t current_priority;
+// frescan_budget_t pending_packets;
+// frescan_repl_op_t replenishments;
+// timer_t repl_timer;
+// struct timespec act_time;
+// frescan_packet_t packet_list;
+// struct list_head servers_list;
+// } frescan_server_data_t;
+
+ // TODO: remove or add replenishment operations
+ ...
+ return -1;
+}
+
/**
* frescan_servers_update() - update a sporadic server data
*
const frescan_server_params_t *params,
frescan_ss_t id)
{
- the_servers_pool[net][id].params = *params;
+ int ret;
+
+ ret = frescan_servers_set_perceived(net, params, id);
+ if (ret != 0) return ret;
+
+ ret = frescan_servers_commit_perceived(net, id);
+ if (ret != 0) return ret;
+
return 0;
}
const frescan_server_params_t *params,
frescan_ss_t *id);
+/**
+ * frescan_servers_set_perceived() - update a sporadic server perceived data
+ *
+ * @net: the network instance
+ * @params: the parameters for the server
+ * @id: the identificator for the server
+ *
+ */
+
+extern int frescan_servers_set_perceived(frescan_network_t net,
+ const frescan_server_params_t *params,
+ frescan_ss_t id);
+
+/**
+ * frescan_servers_commit_perceived() - commit sporadic server perceived data
+ *
+ * @net: the network instance
+ * @params: the parameters for the server
+ * @id: the identificator for the server
+ *
+ */
+
+extern int frescan_servers_commit_perceived(frescan_network_t net,
+ frescan_ss_t id);
+
/**
* frescan_servers_update() - update a sporadic server data
*
+ * It is similar to call 'frescan_servers_set_perceived' and then
+ * 'frescan_servers_commit_perceived'
+ *
* @net: the network instance
* @params: the parameters for the server
* @id: the identificator for the server