]> rtime.felk.cvut.cz Git - frescor/fna.git/commitdiff
add functions to be able to change the PERCEIVED parameters and then commit them...
authorsangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Mon, 21 Jul 2008 18:16:17 +0000 (18:16 +0000)
committersangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Mon, 21 Jul 2008 18:16:17 +0000 (18:16 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1313 35b4ef3e-fd22-0410-ab77-dab3279adceb

src_frescan/frescan_servers.c
src_frescan/frescan_servers.h

index c133ee4b12da7e6636a6a127d998d0086b152cb1..861cef0b18cd6a17976cbbacf3ef9f9100ca5165 100644 (file)
@@ -177,6 +177,55 @@ int frescan_servers_create(frescan_network_t net,
         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
  *
@@ -190,7 +239,14 @@ int frescan_servers_update(frescan_network_t net,
                            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;
 }
 
index 57868bb29eebfdecab9a65241b861995bbe38699..0ecaed88e3690a8ca0df6962506480472cde4ce9 100644 (file)
@@ -96,9 +96,37 @@ extern int frescan_servers_create(frescan_network_t net,
                                   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