Corrected ClockCb
This commit is contained in:
parent
c0bad9b9bc
commit
749807ec3f
6 changed files with 32 additions and 23 deletions
|
@ -10,6 +10,7 @@ dabcast_SOURCES = \
|
||||||
group.cc \
|
group.cc \
|
||||||
lowreceiver.cc \
|
lowreceiver.cc \
|
||||||
lowreceiver_ab.cc \
|
lowreceiver_ab.cc \
|
||||||
|
lowreceiver_cb.cc \
|
||||||
lowsender.cc \
|
lowsender.cc \
|
||||||
highreceiver.cc \
|
highreceiver.cc \
|
||||||
message.cc \
|
message.cc \
|
||||||
|
|
|
@ -8,22 +8,6 @@ ClockAb::ClockAb(size_t myindex){
|
||||||
_ticks = 0;
|
_ticks = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*int numb, int myindex){
|
|
||||||
// lock jusqu'a la fin de la fonction
|
|
||||||
if ((myindex < 0) || (myindex > numb)) {
|
|
||||||
throw ClockInitError();
|
|
||||||
// throw exception
|
|
||||||
}
|
|
||||||
|
|
||||||
Glib::Mutex::Lock lock(_mutex);
|
|
||||||
|
|
||||||
_myidx = myindex;
|
|
||||||
for (int idx = 0; idx < numb; idx++){
|
|
||||||
//printf("ext vector %d\n",idx);
|
|
||||||
_ticks.push_back(0);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
TimeStamp ClockAb::inc(){
|
TimeStamp ClockAb::inc(){
|
||||||
// lock jusqu'a la fin de la fonction
|
// lock jusqu'a la fin de la fonction
|
||||||
Glib::Mutex::Lock lock(_mutex);
|
Glib::Mutex::Lock lock(_mutex);
|
||||||
|
|
|
@ -2,11 +2,38 @@
|
||||||
#include "clock_cb.h"
|
#include "clock_cb.h"
|
||||||
|
|
||||||
ClockCb::ClockCb(size_t size, size_t index){
|
ClockCb::ClockCb(size_t size, size_t index){
|
||||||
printf("ClockCb::ClockCb -- create\n");
|
Glib::Mutex::Lock lock(_mutex);
|
||||||
|
printf("ClockCb::ClockCb -- constructor\n");
|
||||||
|
_cur_index = index;
|
||||||
|
//_ticks = 0;
|
||||||
|
// lock jusqu'a la fin de la fonction
|
||||||
|
if ((index < 0) || (index > size)) {
|
||||||
|
throw ClockInitError();
|
||||||
|
// throw exception
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int idx = 0; idx < size; idx++){
|
||||||
|
printf ("ClockCb::ClockCb -- extending vector to %d\n", idx);
|
||||||
|
_ticks.push_back (0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClockCb::adjust(TimeStamp ts){
|
void ClockCb::adjust(TimeStamp ts){
|
||||||
}
|
}
|
||||||
|
|
||||||
TimeStamp ClockCb::inc(){
|
TimeStamp ClockCb::inc(){
|
||||||
|
// lock jusqu'a la fin de la fonction
|
||||||
|
Glib::Mutex::Lock lock(_mutex);
|
||||||
|
|
||||||
|
printf("ClockAb::inc -- creating timestamp\n");
|
||||||
|
// FIXME incrémenter le nombre de messages émis localement.
|
||||||
|
_ticks[_cur_index] = _ticks[_cur_index] + 1;
|
||||||
|
|
||||||
|
TimeStamp ts(Protocol::TYPE_CBCAST, _cur_index);
|
||||||
|
// on push tous les ticks de l'horloge
|
||||||
|
for (int idx = 0; idx < _ticks.size(); idx++){
|
||||||
|
printf ("ClockCb::ClockCb -- adding %d to timestamp\n", idx);
|
||||||
|
ts.push_back (_ticks.at(idx));
|
||||||
|
}
|
||||||
|
return ts;
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ Config::Config(int argc, char **argv) {
|
||||||
{
|
{
|
||||||
HostId g_host;
|
HostId g_host;
|
||||||
string optstr(optarg);
|
string optstr(optarg);
|
||||||
///stringstream s_host, s_port;
|
stringstream s_host, s_port;
|
||||||
|
|
||||||
int idx = optstr.find(":");
|
int idx = optstr.find(":");
|
||||||
if (idx > 0){
|
if (idx > 0){
|
||||||
|
|
|
@ -40,11 +40,11 @@ int main(int argc, char ** argv){
|
||||||
printf("Test mode!\n");
|
printf("Test mode!\n");
|
||||||
break;
|
break;
|
||||||
case Protocol::TYPE_ABCAST:
|
case Protocol::TYPE_ABCAST:
|
||||||
clk = new ClockAb(config.getIndex());
|
clk = new ClockAb (config.getIndex());
|
||||||
printf("AbCast mode!\n");
|
printf("AbCast mode!\n");
|
||||||
break;
|
break;
|
||||||
case Protocol::TYPE_CBCAST:
|
case Protocol::TYPE_CBCAST:
|
||||||
clk = new ClockCb(4,1);
|
clk = new ClockCb (grp.getCount(), config.getIndex());
|
||||||
printf("CbCast mode!\n");
|
printf("CbCast mode!\n");
|
||||||
break;
|
break;
|
||||||
case Protocol::TYPE_UNKNOWN:
|
case Protocol::TYPE_UNKNOWN:
|
||||||
|
|
|
@ -104,6 +104,3 @@ void LowReceiver::manage(Message * mesg){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LowReceiver::manage_cbcast(Message * mesg) {
|
|
||||||
printf("LowReceiver::manage_cbcast -- init\n");
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue