Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
codes
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
38
Issues
38
List
Boards
Labels
Milestones
Merge Requests
8
Merge Requests
8
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
codes
codes
Commits
11c93b85
Commit
11c93b85
authored
Jul 31, 2014
by
Jonathan Jenkins
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added annotated versions of model_net_*event
parent
d83c4ff2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
78 additions
and
6 deletions
+78
-6
codes/model-net.h
codes/model-net.h
+34
-0
src/models/networks/model-net/model-net.c
src/models/networks/model-net/model-net.c
+44
-6
No files found.
codes/model-net.h
View file @
11c93b85
...
...
@@ -155,6 +155,11 @@ void model_net_event_collective_rc(
* - self_event: pionter to data to be used as the self event message
* - sender: pointer to the tw_lp structure of the API caller. This is
* identical to the sender argument to tw_event_new().
*
* The modelnet LP used for communication is the LP in the same group, same
* repetition, using net_id to differentiate different model types. If
* more than one modelnet model of the same type but different annotation exist,
* then the first one listed will be used.
*/
// first argument becomes the network ID
void
model_net_event
(
...
...
@@ -168,6 +173,25 @@ void model_net_event(
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
);
/*
* See model_net_event for a general description.
*
* Unlike model_net_event, this function uses the annotation to differentiate
* multiple modelnet LPs with the same type but different annotation. The caller
* annotation is not consulted here.
*/
void
model_net_event_annotated
(
int
net_id
,
const
char
*
annotation
,
char
*
category
,
tw_lpid
final_dest_lp
,
uint64_t
message_size
,
tw_stime
offset
,
int
remote_event_size
,
const
void
*
remote_event
,
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
);
/* model_net_find_local_device()
*
...
...
@@ -218,6 +242,16 @@ void model_net_pull_event(
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
);
void
model_net_pull_event_annotated
(
int
net_id
,
const
char
*
annotation
,
char
*
category
,
tw_lpid
final_dest_lp
,
uint64_t
message_size
,
tw_stime
offset
,
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
);
void
model_net_pull_event_rc
(
int
net_id
,
tw_lp
*
sender
);
...
...
src/models/networks/model-net/model-net.c
View file @
11c93b85
...
...
@@ -215,6 +215,8 @@ struct mn_stats* model_net_find_stats(const char* category, mn_stats mn_stats_ar
static
void
model_net_event_impl_base
(
int
net_id
,
const
char
*
annotation
,
int
ignore_annotations
,
char
*
category
,
tw_lpid
final_dest_lp
,
uint64_t
message_size
,
...
...
@@ -235,7 +237,8 @@ static void model_net_event_impl_base(
return
;
}
tw_lpid
mn_lp
=
model_net_find_local_device
(
net_id
,
NULL
,
1
,
sender
);
tw_lpid
mn_lp
=
model_net_find_local_device
(
net_id
,
annotation
,
ignore_annotations
,
sender
);
tw_stime
poffset
=
codes_local_latency
(
sender
);
if
(
in_sequence
){
tw_stime
tmp
=
mn_msg_offset
;
...
...
@@ -288,9 +291,26 @@ void model_net_event(
const
void
*
self_event
,
tw_lp
*
sender
)
{
model_net_event_impl_base
(
net_id
,
category
,
final_dest_lp
,
message_size
,
0
,
offset
,
remote_event_size
,
remote_event
,
self_event_size
,
self_event
,
sender
);
model_net_event_impl_base
(
net_id
,
NULL
,
1
,
category
,
final_dest_lp
,
message_size
,
0
,
offset
,
remote_event_size
,
remote_event
,
self_event_size
,
self_event
,
sender
);
}
void
model_net_event_annotated
(
int
net_id
,
const
char
*
annotation
,
char
*
category
,
tw_lpid
final_dest_lp
,
uint64_t
message_size
,
tw_stime
offset
,
int
remote_event_size
,
const
void
*
remote_event
,
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
){
model_net_event_impl_base
(
net_id
,
annotation
,
0
,
category
,
final_dest_lp
,
message_size
,
0
,
offset
,
remote_event_size
,
remote_event
,
self_event_size
,
self_event
,
sender
);
}
void
model_net_pull_event
(
...
...
@@ -304,8 +324,26 @@ void model_net_pull_event(
tw_lp
*
sender
){
/* NOTE: for a pull, we are filling the *remote* event - it will be remote
* from the destination's POV */
model_net_event_impl_base
(
net_id
,
category
,
final_dest_lp
,
message_size
,
1
,
offset
,
self_event_size
,
self_event
,
0
,
NULL
,
sender
);
model_net_event_impl_base
(
net_id
,
NULL
,
0
,
category
,
final_dest_lp
,
message_size
,
1
,
offset
,
self_event_size
,
self_event
,
0
,
NULL
,
sender
);
}
void
model_net_pull_event_annotated
(
int
net_id
,
const
char
*
annotation
,
char
*
category
,
tw_lpid
final_dest_lp
,
uint64_t
message_size
,
tw_stime
offset
,
int
self_event_size
,
const
void
*
self_event
,
tw_lp
*
sender
){
/* NOTE: for a pull, we are filling the *remote* event - it will be remote
* from the destination's POV */
model_net_event_impl_base
(
net_id
,
annotation
,
1
,
category
,
final_dest_lp
,
message_size
,
1
,
offset
,
self_event_size
,
self_event
,
0
,
NULL
,
sender
);
}
void
model_net_event_rc
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment