]> rtime.felk.cvut.cz Git - frescor/fwp.git/commitdiff
Merge branch 'master' of molnam1@rtime.felk.cvut.cz:/var/git/frescor
authorMartin Molnar <molnam1@fel.cvut.cz>
Sat, 5 Jul 2008 11:37:32 +0000 (13:37 +0200)
committerMartin Molnar <molnam1@fel.cvut.cz>
Sat, 5 Jul 2008 11:37:32 +0000 (13:37 +0200)
20 files changed:
fwp/lib/core/fwp_endpoint.c
fwp/lib/core/fwp_endpoint.h
fwp/lib/core/fwp_msgb.c
fwp/lib/core/fwp_msgb.h
fwp/lib/core/fwp_msgq.h
fwp/lib/core/fwp_vres.c
fwp/lib/core/fwp_vres.h
fwp/lib/mngt/fwp_contract.c
fwp/lib/mngt/fwp_mngt.c
fwp/lib/mngt/fwp_msg.c
fwp/lib/mngt/fwp_participant.h
fwp/lib/mngt/fwp_resource.h
fwp/mngr/fwp_mngr.c
fwp/mngr/fwp_participant_table.c
fwp/tests/fwp_mngrtest/fwp_mngrtest.c
fwp/tests/fwp_msgtest/fwp_msgtest.c
fwp/tests/fwp_prototest/fwp_sendrecv_test1.c
fwp/tests/fwp_prototest/fwp_sendrecv_test2.c
fwp/tests/fwp_vrestest/fwp_vrestest1.c
fwp/tests/fwp_vrestest/fwp_vrestest2.c

index f61f3d06a047ad51e21357ab521305168bc10ae9..c43de17a10ea965d83afe76fcee9f0545df188c3 100644 (file)
@@ -95,6 +95,13 @@ int fwp_endpoint_table_init(unsigned int max_endpoints)
        return 0;
 }
 
+/**
+ * Allocates endpoint
+ *
+ * \return On success returns endpoint structure. 
+ * On error, NULL is returned. 
+ *
+ */
 static fwp_endpoint_t* fwp_endpoint_alloc()
 {
        int i, max_endpoints;
@@ -117,6 +124,13 @@ static fwp_endpoint_t* fwp_endpoint_alloc()
        return (&fwp_endpoint_table.entry[i]);
 }
 
+/**
+ * Destroy endpoint
+ *
+ * \param[in] epointd Endpoint descriptor
+ * \return On success 0 is returned. 
+ * On error, negative error value is returned. 
+ */
 int fwp_endpoint_destroy(fwp_endpoint_d_t epointd)
 {
        fwp_endpoint_t *epoint = epointd;
@@ -130,6 +144,16 @@ int fwp_endpoint_destroy(fwp_endpoint_d_t epointd)
        return 0;
 }
 
+/**
+ * Get endpoint parameters
+ *
+ * \param[in] epointd Endpoint descriptor
+ * \param[out] node Node identifier
+ * \param[out] port Port
+ * \param[out] attr Endpoint`s attributes
+ * \return On success 0 is returned. 
+ * On error, negative error value is returned. 
+ */
 int fwp_endpoint_get_params(fwp_endpoint_d_t epointd, unsigned int *node, 
                                unsigned int *port, fwp_endpoint_attr_t *attr)
 {
@@ -233,7 +257,6 @@ err:
  *
  * \return On success returns descriptor of endpoint. 
  * On error, negative error code is returned. 
- *
  */
 int fwp_receive_endpoint_create(/*unsigned int node,*/ unsigned int port,
                                fwp_endpoint_attr_t *attr, 
@@ -369,7 +392,7 @@ err:
 /**
  * Unbinds send endpoint from vres
  *
- * \param[in] id send endpoint identifie
+ * \param[in] epointd Send endpoint descripto
  * \return On success returns 0. On error, negative error code is returned 
  *
  */
@@ -394,9 +417,9 @@ int fwp_send_endpoint_unbind(fwp_endpoint_d_t epointd)
 /**
  * Receives message
  *
- * \param[in] epointd descriptor of endpoint
- * \param[in] buffer buffer to store message
- * \param[in] buffer_size size of buffer
+ * \param[in] epointd Descriptor of endpoint
+ * \param[in] buffer Buffer to store message
+ * \param[in] buffer_size Size of buffer
  *
  * \return
  * On success, it returns number of received bytes.  
@@ -420,7 +443,8 @@ ssize_t fwp_recv(fwp_endpoint_d_t epointd, void *buffer, size_t buffer_size,
                        peer->addr, &peer->addrlen);
                return len;
        }
-next_recv:
+       
+       while (1) {
        /* FIXME: What about using a loop here and continue instead of goto???? */
        /* FWP_EPOINT_RELIABLE */
        fdset = epoint->fdset;
@@ -435,7 +459,7 @@ next_recv:
        
        if (FD_ISSET(epoint->sockd, &fdset)) { /* is it listen socket? */ 
                if (epoint->nr_connections == epoint->attr.max_connections)
-                       goto next_recv;
+                       continue;
 
                csockd = accept(epoint->sockd, (struct sockaddr*)peer->addr,
                                 &peer->addrlen);
@@ -451,8 +475,7 @@ next_recv:
                epoint->nr_connections++;
                
                FD_SET(csockd, &epoint->fdset);
-
-               goto next_recv;
+               continue;
        }
 
        /* Check client TCP sockets */
@@ -470,19 +493,19 @@ next_recv:
                        memcpy(epoint->c_sockd+i, epoint->c_sockd+i+1, 
                                sizeof(int)*(epoint->nr_connections -i-1));
                        epoint->nr_connections--;
-                       goto next_recv;
+                       continue;
                }
        }
-
-       return -EPERM;
+       
+       }
 }
 
 /**
  * Sends message through vres
  *
- * \param[in] epointd  identificator of endpoint
- * \param[in] msg message to sent
- * \param[in] size message size
+ * \param[in] epointd Endpoint descriptor
+ * \param[in] msg Message to sent
+ * \param[in] size Message size
  *
  * \return
  * On success, it returns zero.  
index f9e1baca051670619105d084900c46a41c012cdf..75bd2333c3875c884b709ee477d7d9a4bcaa9116 100644 (file)
@@ -9,9 +9,12 @@ typedef enum {
 } fwp_endpoint_reliability_t;
 
 struct fwp_endpoint;
-/* fwp endpoint descriptor type */
+/** fwp endpoint descriptor type */
 typedef struct fwp_endpoint* fwp_endpoint_d_t;
 
+/**
+ * Endpoint attributes
+ */
 typedef
 struct fwp_endpoint_attr {
        unsigned int reliability;
index 4d5a458b75389e31ea6177a22f90f4c71915438d..c69a6e211f8988a4af59389bfe64e2cf78cac65f 100644 (file)
@@ -1,3 +1,10 @@
+/**
+ * \file fwp_msgb.c
+ *
+ * Routines for manipulation with fwp message buffer (msgb)
+ *
+ */
+
 #include "fwp_msgb.h"
 #include "fwp_util.h"
 #include <stdlib.h>
@@ -5,6 +12,13 @@
 /*unsigned char* fwp_msgb_dealloc(size_t buf_size) */
 /*unsigned char* fwp_msgb_pool_init(size_t buf_size) */
 
+/**
+ * Allocates msgb.
+ *
+ * \param buf_size Size of msgb
+ * \return Allocated msgb
+ *
+ */
 struct fwp_msgb* fwp_msgb_alloc(size_t buf_size)
 {
        struct fwp_msgb* msgb;
@@ -23,12 +37,27 @@ struct fwp_msgb* fwp_msgb_alloc(size_t buf_size)
        return msgb;
 }
 
+/**
+ * Deallocates msgb.
+ *
+ * \param msgb Pointer to msgb
+ *
+ */
 void fwp_msgb_free(struct fwp_msgb *msgb)
 {
        free((void*) msgb);
        msgb = NULL;
 }
 
+/**
+ * Routine is usually called after putting data of length len to msgb 
+ * to adjust internal tail pointer and len fields of msgb
+ *
+ * \param msgb Pointer to msgb
+ * \param len The lenght data put to msgb 
+ * \return Previous tail pointer
+ *
+ */
 inline unsigned char* fwp_msgb_put(struct fwp_msgb *msgb, unsigned int len)
 {
        unsigned char *tmp= msgb->tail;
@@ -38,7 +67,15 @@ inline unsigned char* fwp_msgb_put(struct fwp_msgb *msgb, unsigned int len)
        return tmp;
 }
 
-/* to parse received message */
+/**
+ * Routine is usually called after reading data of lenght len from msgb to 
+ * adjust internal data pointer and len of msgb
+ *
+ * \param msgb Pointer to msgb
+ * \param len The lenght data 
+ * \return Previous tail pointer
+ *
+ */
 inline unsigned char* fwp_msgb_pull(struct fwp_msgb *msgb, unsigned int len)
 {
        if (len > msgb->len)
@@ -48,6 +85,15 @@ inline unsigned char* fwp_msgb_pull(struct fwp_msgb *msgb, unsigned int len)
        return msgb->data += len;
 }
 
+/**
+ * Routine is usually called after fwp_msgb_reserve after reserved area is filled 
+ * adjust pointers 
+ *
+ * \param msgb Pointer to msgb
+ * \param len The lenght data 
+ * \return Current data pointer
+ *
+ */ 
 inline unsigned char* fwp_msgb_push(struct fwp_msgb* msgb, unsigned int len)
 {
        msgb->data-=len;
@@ -63,11 +109,22 @@ inline unsigned char* fwp_msgb_shift(struct fwp_msgb *msgb, unsigned int len)
        return msgb->data += len;
 }
 
+/**
+ * Sets data pointer to the start of buffer
+ *
+ * \param msgb Pointer to msgb
+ *
+ */
 inline void fwp_msgb_reset_data_pointer(struct fwp_msgb *msgb)
 {
        msgb->data = (unsigned char*) msgb + sizeof(struct fwp_msgb);
 }
 
+/**
+ * Sets data pointer to the start of buffer and the length of used data to zero
+ *
+ * \param msgb Pointer to msgb
+ */
 inline void fwp_msgb_reset_data(struct fwp_msgb* msgb)
 {
        msgb->len = 0;
@@ -75,8 +132,12 @@ inline void fwp_msgb_reset_data(struct fwp_msgb* msgb)
        msgb->tail = msgb->data;
 }
 
-
-/* reserve is called first then push */
+/**
+ * Reserve place of length len in msgb
+ *
+ * \param msgb Pointer to msgb
+ * \param len The lenght data 
+ */
 inline void fwp_msgb_reserve(fwp_msgb_t *msgb, unsigned int len)
 {
        msgb->data+=len;
index c588472abbfd2bed8c5f17d8a6c117ac929b5c2a..1fa5a11a1d77453c34cd3d3cb3183e46925e3c9f 100644 (file)
@@ -4,10 +4,6 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <string.h>
-/*#include <sys/un.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <unistd.h>*/
 
 #define ADDRLEN_MAX 30
 
@@ -17,6 +13,9 @@ struct fwp_sockaddr{
        socklen_t       addrlen;
 } fwp_sockaddr_t;
 
+/**
+ * Message buffer structure
+ */
 typedef
 struct fwp_msgb {
        size_t                  buffer_size;
index c38dff374bc97de80755a1afffd3a6b15fb424ff..f10d19a45d2b2c8b538afc00af546a2216960aaa 100644 (file)
@@ -7,6 +7,10 @@
 #include <pthread.h>
 #include <semaphore.h>
 
+/**
+ * Message queue structure
+ *
+ */
 struct fwp_msgq {
        unsigned int    nr_pending;  /**< number of messages in the queue */
        struct fwp_msgb* queue[FWP_MSGQ_SIZE];
index 78e988dfc8d96a79449bbcf5088f56c3928bf379..02e95e7110b9168b64f2e8a5c9a18821cd80eb4e 100644 (file)
@@ -53,6 +53,16 @@ static const int prio_to_ac[8] = {2,3,3,2,1,1,0,0};
 /**< IP tos for AC_VI, AC_VO, AC_BE, AC_BK */ 
 static const unsigned int ac_to_tos[4] = {224,160,96,64};
 
+/**
+ * Set access category (AC) to socket
+ *
+ * \param[in] sockd Socket descriptor
+ * \param[in] ac_id AC identifier
+ * 
+ * \return On success returns zero. 
+ * On error, negative error code is returned. 
+ *
+ */
 static inline int fwp_vres_set_ac(int sockd, fwp_ac_t ac_id) 
 {
        unsigned int tos;
@@ -145,6 +155,11 @@ fwp_vres_id_t fwp_vres_get_id(fwp_vres_d_t vresd)
        return (vres - fwp_vres_table.entry);
 }
 
+/**
+ * Allocate vres
+ *
+ * \return On success returns vres descriptor. 
+ */
 fwp_vres_d_t fwp_vres_alloc()
 {
        int i;
@@ -169,6 +184,16 @@ fwp_vres_d_t fwp_vres_alloc()
        return (&fwp_vres_table.entry[i]);
 }
 
+/**
+ * Set vres params
+ *
+ * \param[in] vresdp Vres descriptor
+ * \param[in] params Vres parameters
+ *
+ * \return On success returns zero. 
+ * On error, negative error code is returned. 
+ *
+ */
 int fwp_vres_set_params(fwp_vres_d_t vresd, fwp_vres_params_t *params)
 {
        fwp_vres_t *vres = vresd;
@@ -282,6 +307,10 @@ static void fwp_vres_cleanup(void *_vres)
        fwp_vres_free(vres);
 }
 
+/**
+ * Thread that does budgeting
+ *
+ */
 static void* fwp_vres_tx_thread(void *_vres)
 {/* TODO: make changes that count with changing of params */
        struct fwp_vres *vres = (struct fwp_vres*)_vres;
index 8520a117db2e73729f7cb8b433409747dc1df928..335bce972523dbf6d8ae15511eef7a3dccd52f5e 100644 (file)
@@ -25,9 +25,6 @@ typedef enum  {
 /**
  * FWP vres parameters 
  * 
- * It is like an internal representation of the contract used inside 
- * protocol and contains negotiated parameters from contract.
- * 
  */
 typedef
 struct fwp_vres_params {
index 3d6954e4c503c9afc4e4753d5b9dfa34630fc6ff..4262aa87f28d03746da55c931c304aa2710f8f48 100644 (file)
@@ -1,7 +1,14 @@
+/**
+ * \file fwp_contract.c
+ *
+ * Routines for manipulation with contract
+ *
+ */
 #include "fwp_msg.h"
 #include "fwp_contract.h"
 #include "fwp_contract_table.h"
 #include "fwp_mngt.h"
+#include <pthread.h>
 
 static int fwp_contract_is_reserved(fwp_contract_d_t contract)
 {
@@ -17,8 +24,8 @@ int fwp_contract_is_negotiated(fwp_contract_d_t contract)
  * Negotiates contract for application. Negotiation request is sent to 
  * fwp agent and then waits for response.
  *
- * \param[in] contractd descriptor of the contract to negotiate
- * \param[out] vresd Id of vres after the contract was accepted
+ * \param[in] contractd Descriptor of the contract to negotiate
+ * \param[out] vresd Vres descriptor after the contract was accepted
  *
  * \return  
  * If successful, the  function returns zero and vres descriptor is
@@ -38,6 +45,14 @@ int fwp_contract_negotiate(fwp_contract_d_t contractd, fwp_vres_d_t *vresdp)
        return 0;
 }
 
+/**
+ * Creates contract
+ * 
+ * \param[in] contract User-level contract
+ *
+ * \return On success, returns contract descriptor
+ *
+ */
 /*fwp_contract_d_t fwp_contract_create(fwp_contract_t *contract, resource_d_t resource)*/
 fwp_contract_d_t fwp_contract_create(fwp_contract_t *contract)
 {
@@ -60,6 +75,15 @@ fwp_contract_d_t fwp_contract_create(fwp_contract_t *contract)
        return contdata;
 }
 
+/**
+ * Destroys contract
+ * 
+ * \param[in] contractd Contract descriptor
+ *
+ * \return On success, returns zero.
+ * On error, returns negative error code.
+ *
+ */
 int fwp_contract_destroy(fwp_contract_d_t contractd)
 {
        fwp_contract_data_t *contdata = contractd;
@@ -70,6 +94,15 @@ int fwp_contract_destroy(fwp_contract_d_t contractd)
        return 0;
 }
 
+/**
+ * Reserves contract
+ * 
+ * \param[in] contractd Contract descriptor
+ *
+ * \return On success, returns zero.
+ * On error, returns negative error code.
+ *
+ */
 int fwp_contract_reserve(fwp_contract_d_t contractd)
 {
        fwp_contract_data_t *contdata = contractd;
@@ -114,6 +147,16 @@ int fwp_contract_reserve(fwp_contract_d_t contractd)
        return 0;
 }
 
+/**
+ * Commits contract
+ * 
+ * \param[in] contractd Contract descriptor
+ * \param[out] vresd Descriptor of vres
+ *
+ * \return On success, returns zero.
+ * On error, returns negative error code.
+ *
+ */
 int fwp_contract_commit(fwp_contract_d_t contractd, fwp_vres_d_t *vresdp)
 {
        fwp_contract_data_t *contdata = contractd;
@@ -140,6 +183,15 @@ int fwp_contract_commit(fwp_contract_d_t contractd, fwp_vres_d_t *vresdp)
        return 0;
 }
 
+/**
+ * Cancels contract
+ * 
+ * \param[in] contractd Contract descriptor
+ *
+ * \return On success, returns zero.
+ * On error, returns negative error code.
+ *
+ */
 int fwp_contract_cancel(fwp_contract_d_t contractd)
 {
        fwp_contract_data_t *contdata = contractd;
index 331ed3acba79bb96b50653b92ce29d2539f6a4ac..f1fa39226fb5ab740d8b07d834c452e270c1d824 100644 (file)
@@ -6,9 +6,9 @@
  * Global mngt variables
  */
 
-/**< Pointer to participant of this application*/
+/**< Pointer to participant of this application */
 fwp_participant_t      *fwp_participant_this;
-/**< Pointer to manager participant record*/
+/**< Pointer to manager participant */
 fwp_participant_t      *fwp_participant_mngr;
 
 static fwp_contract_t fwp_service_contract = {
@@ -151,7 +151,10 @@ int fwp_mngt_connect()
                                fwp_participant_mngr->vresd);
        return 0;
 }
-
+/**
+ * Disconnect from manager
+ *
+ */
 int fwp_mngt_disconnect()
 {
        fwp_msgb_t *msgb;
@@ -172,7 +175,12 @@ int fwp_mngt_disconnect()
        return 0;
 }
 
-
+/**
+ * FWP Management initialization 
+ * - creates and initializes fwp_participant_this 
+ * - creates and initializes fwp_participant_mngr
+ * - calls fwp_mngt
+ */
 int fwp_mngt_init()
 {
        fwp_participant_info_t  my_info, mngr_info;
index c793d1e351cc0b5eb1f3ec7cea9b0e8344545295..2cf1fa07a1808375c4318236722b9821c23f2cf9 100644 (file)
@@ -1,6 +1,8 @@
 #include "fwp_msg.h"
 
 /**
+ * \file fwp_msg.c 
+ *
  * Routines for serializing and deserializing FWP messages.
  *
  * (It should be in separate library.)
index 9f961f0fcc5054925a7eff7c2facc3b06be72ae8..8b175881fee04372c6e33ae24d1f97980cec8b15 100644 (file)
@@ -23,7 +23,6 @@ struct fwp_participant_info {
  * Participant of FWP
  *
  */
-
 typedef
 struct fwp_participant {
        fwp_participant_id_t    id;
index 907439f89272f8f43989d0c018e93955b83d26d7..a9bcd6075240a0eba7caa55bfd80aaac5f4bee14 100644 (file)
@@ -1,8 +1,13 @@
+/**
+ * \file fwp_resource.h
+ *
+ * NOT USED!!
+ *
+ *
+ */
 #ifndef _FWP_RESOURCE_H
 #define _FWP_RESOURCE_H
 
-/**< NOT USED!! */
-
 typedef unsigned int fwp_resource_id_t;
 typedef unsigned int fwp_resource_d_t;
 
index 8e9baa8dc88781b14fc59b6438e04d25d8f21236..acb1ea71a898adb830e689ffb863028dce4b3ce0 100644 (file)
 #define FWP_MTU        2346  
 #define BUFFSIZE       FWP_MTU 
 
-/* buffer and socket for incomming message */
-static unsigned char   buffer[FWP_MTU];
-/* FIXME: This could be moved to local static variable in
- * fwp_mngt_input() */
-
 /* Admission control test */
 fwp_admctrl_test_t fwp_admctrl_test = &fwp_admctrl_stupid;
 
@@ -33,6 +28,8 @@ fwp_admctrl_test_t fwp_admctrl_test = &fwp_admctrl_stupid;
  */
 int fwp_mngr_input(struct fwp_msgb **pmsgb)
 {
+       /* buffer and socket for incomming message */
+       static unsigned char    buffer[FWP_MTU];
        struct fwp_msgb *msgb;
        ssize_t size;
 
index 5ca7cfe0c007b3b70e499022c698a0da7cbf68ea..4debec7ed0e652e0600ebcacae60afed759075ba 100644 (file)
@@ -48,9 +48,11 @@ void fwp_participant_table_insert(fwp_participant_t *participant)
        pthread_mutex_unlock(&fwp_participant_table.lock);
 }
 
-fwp_participant_t* fwp_participant_table_find(fwp_participant_id_t *participant_id)
+fwp_participant_t* 
+fwp_participant_table_find(fwp_participant_id_t *participant_id)
 {
-       return _fwp_participant_table_find(&fwp_participant_table, participant_id);
+       return _fwp_participant_table_find(&fwp_participant_table, 
+                                               participant_id);
 }
 
 int fwp_participant_table_delete(fwp_participant_t *participant)
index 9229d44dc255acc8813b82f8fe7a149cf68f406f..db7221c70c559d89a8a3414ad66d515c50664c27 100644 (file)
@@ -1,3 +1,15 @@
+/**
+ * \file fwp_mngrtest.c
+ *
+ * This is a test application that:
+ * - connects to manager
+ * - negotiates contract
+ * - creates send endpoint and binds it to vres
+ * - sends and receives two messages Hello1 and Hello2
+ * - cancels contract
+ * - disconnects from manager
+ */
+
 #define CONFIGURE_MNGR_ADDR 127.0.0.1
 #include "fwp_confdefs.h"
 #include "fwp.h"
index bc8f51c778d22a8cf54d84399ac256bd7435ef06..4ee4d06d499d509862e182e172e3c849885a618d 100644 (file)
@@ -1,3 +1,13 @@
+/**
+ * \file fwp_msgtest.c
+ *
+ * This is a test application for msg handling that
+ * - allocates two msgb
+ * - serializes two contracts into msgb
+ * - put both msgb to message queue
+ * - revert previous steps 
+ * - compare contracts 
+ */
 #include "fwp_msgq.h"
 #include "fwp_msgb.h"
 #include "fwp_msg.h"
index 4b9e07c8f5fcbbedd6b2dbb51e252690989059e4..1bbe9c0e885de7685e9d059e549159b1ff95d268 100644 (file)
@@ -1,3 +1,15 @@
+/**
+ * \file fwp_sendrecv_test1.c  
+ *
+ * This a test application that:
+ * - creates two vres without negotiation
+ * - creates send and receive endpoint 
+ * - binds that endpoint to vres
+ * - sends two messages
+ * - receives messages
+ * - destroys vres
+ *
+ */
 #define CONFIGURE_FWP_MNGT 0
 #include "fwp_confdefs.h"
 #include "fwp.h"
index c95d3d0c8dd51c82bb298155a91d28bb76347cae..233f4d07cf87dc37775ee1d368def60e98cf4126 100644 (file)
@@ -1,3 +1,15 @@
+/**
+ * \file fwp_sendrecv_test1.c  
+ *
+ * This a test application that:
+ * - creates vres without negotiation
+ * - creates reliable send endpoint
+ * - cretaes receiver thread and receive endpoint within it 
+ * - binds that endpoint to vres
+ * - sends two messages
+ * - receives messages
+ *
+ */
 #define CONFIGURE_FWP_MNGT 0
 #include "fwp_confdefs.h"
 #include "fwp.h"
index dc9029a9400ce40662845f9a9f2e738e7898febd..8882f360ab6f8a05e1393dc7e8e4c5a9ff6ea90c 100644 (file)
@@ -1,3 +1,15 @@
+/**
+ * \file fwp_vrestest1.c  
+ *
+ * This a test application that:
+ * - creates vres without negotiation
+ * - creates send and receive endpoint 
+ * - binds that endpoint to vres
+ * - in cycle (NUM loops) sends messages and prints send time
+ * - receives messages
+ * - destroys vres
+ *
+ */
 #define  CONFIGURE_FWP_MNGT 0
 #include "fwp_confdefs.h"
 #include "fwp.h"
index 1aed0e784633bc1e8907cfc5aaca442b5342ed79..e8520a1cdc41f02e490cc5be654f1edda96d6847 100644 (file)
@@ -1,3 +1,16 @@
+/**
+ * \file fwp_vrestest2.c  
+ *
+ * This a test application that:
+ * - creates vres without negotiation
+ * - creates send and receive endpoint 
+ * - binds that endpoint to vres
+ * - in cycle (NUM loops) sends messages in separate thread and 
+ *   prints send time
+ * - receives messages in separate receiver thread
+ * - destroys vres
+ *
+ */
 #define  CONFIGURE_FWP_MNGT 0
 #include "fwp_confdefs.h"
 #include "fwp.h"