For DOV: LCR random number generator
Generate random number from jitter of all messages inside LCR.
This commit is contained in:
parent
e233557e40
commit
0a71f8f76f
|
@ -30,10 +30,19 @@ void cleanup_message(void)
|
|||
del_work(&message_work);
|
||||
}
|
||||
|
||||
unsigned int lcr_random = 0;
|
||||
|
||||
/* creates a new message with the given attributes. the message must be filled then. after filling, the message_put must be called */
|
||||
struct lcr_msg *message_create(int id_from, int id_to, int flow, int type)
|
||||
{
|
||||
struct lcr_msg *message;
|
||||
struct timeval now_tv;
|
||||
struct timezone now_tz;
|
||||
|
||||
gettimeofday(&now_tv, &now_tz);
|
||||
lcr_random = (lcr_random << 1) | (lcr_random >> 31);
|
||||
lcr_random ^= now_tv.tv_sec;
|
||||
lcr_random ^= now_tv.tv_usec;
|
||||
|
||||
message = (struct lcr_msg *)MALLOC(sizeof(struct lcr_msg));
|
||||
if (!message)
|
||||
|
|
|
@ -489,6 +489,7 @@ enum { /* messages between entities */
|
|||
};
|
||||
|
||||
|
||||
extern unsigned int lcr_random;
|
||||
struct lcr_msg *message_create(int id_from, int id_to, int flow, int type);
|
||||
#define message_put(m) _message_put(m, __FILE__, __LINE__)
|
||||
void _message_put(struct lcr_msg *message, const char *file, int line);
|
||||
|
|
Loading…
Reference in New Issue