/* */ #include "SegmentSplitter.h" #include "Util.h" #include "LogFactory.h" SegmentSplitter::SegmentSplitter() { logger = LogFactory::getInstance(); } void SegmentSplitter::split(Segment& seg, int cuid, Segment& s) const { long long int nep = (s.ep-(s.sp+s.ds))/2+(s.sp+s.ds); seg.cuid = cuid; seg.sp = nep+1; seg.ep = s.ep; seg.ds = 0; seg.speed = s.speed; seg.finish = false; s.ep = nep; logger->debug(string("return new segment { " "sp = "+Util::llitos(seg.sp)+", "+ "ep = "+Util::llitos(seg.ep)+", "+ "ds = "+Util::llitos(seg.ds)+", "+ "speed = "+Util::itos(seg.speed)+" } to "+ "cuid "+Util::llitos(cuid)).c_str()); logger->debug(string("update segment { " "sp = "+Util::llitos(s.sp)+", "+ "ep = "+Util::llitos(s.ep)+", "+ "ds = "+Util::llitos(s.ds)+", "+ "speed = "+Util::itos(s.speed)+" } of "+ "cuid "+Util::llitos(s.cuid)).c_str()); }