| OpenTTD
    | 
| Public Member Functions | |
| void | SpawnNext () | 
| Start the next job in the schedule. | |
| void | JoinNext () | 
| Join the next finished job, if available. | |
| void | SpawnAll () | 
| Start all threads in the running list. | |
| void | ShiftDates (int interval) | 
| Shift all dates (join dates and edge annotations) of link graphs and link graph jobs by the number of days given. | |
| void | Queue (LinkGraph *lg) | 
| Queue a link graph for execution. | |
| void | Unqueue (LinkGraph *lg) | 
| Remove a link graph from the execution queue. | |
| Static Public Member Functions | |
| static void | Run (void *j) | 
| Run all handlers for the given Job. | |
| static void | Clear () | 
| Clear all link graphs and jobs from the schedule. | |
| Static Public Attributes | |
| static const uint | SPAWN_JOIN_TICK = 21 | 
| Tick when jobs are spawned or joined every day. | |
| static LinkGraphSchedule | instance | 
| Static instance of LinkGraphSchedule. | |
| Protected Attributes | |
| ComponentHandler * | handlers [6] | 
| Handlers to be run for each job. | |
| GraphList | schedule | 
| Queue for new jobs. | |
| JobList | running | 
| Currently running jobs. | |
| Private Types | |
| typedef std::list< LinkGraph * > | GraphList | 
| typedef std::list< LinkGraphJob * > | JobList | 
| Private Member Functions | |
| LinkGraphSchedule () | |
| Create a link graph schedule and initialize its handlers. | |
| ~LinkGraphSchedule () | |
| Delete a link graph schedule and its handlers. | |
| Friends | |
| const SaveLoad * | GetLinkGraphScheduleDesc () | 
| Get a SaveLoad array for the link graph schedule. | |
Definition at line 38 of file linkgraphschedule.h.
| 
 | inline | 
Queue a link graph for execution.
| lg | Link graph to be queued. | 
Definition at line 68 of file linkgraphschedule.h.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_link_graph_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, and schedule.
Referenced by IncreaseStats(), and JoinNext().
| 
 | static | 
Run all handlers for the given Job.
This method is tailored to ThreadObject::New.
| j | Pointer to a link graph job. | 
Definition at line 75 of file linkgraphschedule.cpp.
References handlers, instance, lengthof, and ComponentHandler::Run().
Referenced by LinkGraphJob::SpawnThread().
| void LinkGraphSchedule::ShiftDates | ( | int | interval | ) | 
Shift all dates (join dates and edge annotations) of link graphs and link graph jobs by the number of days given.
| interval | Number of days to be added or subtracted. | 
Definition at line 111 of file linkgraphschedule.cpp.
References LinkGraph::ShiftDates(), and LinkGraphJob::ShiftJoinDate().
Referenced by ClickChangeDateCheat(), and SetStartingYear().
| void LinkGraphSchedule::SpawnAll | ( | ) | 
Start all threads in the running list.
This is only useful for save/load. Usually threads are started when the job is created.
Definition at line 87 of file linkgraphschedule.cpp.
References running.
Referenced by AfterLoadLinkGraphs().
| 
 | inline | 
Remove a link graph from the execution queue.
| lg | Link graph to be removed. | 
Definition at line 78 of file linkgraphschedule.h.
References schedule.
Referenced by IncreaseStats(), JoinNext(), and Station::~Station().
| 
 | friend | 
Get a SaveLoad array for the link graph schedule.
Definition at line 96 of file linkgraph_sl.cpp.
| 
 | static | 
Static instance of LinkGraphSchedule.
Note: This instance is created on task start. Lazy creation on first usage results in a data race between the CDist threads.
Definition at line 54 of file linkgraphschedule.h.
Referenced by AfterLoadLinkGraphs(), Clear(), ClickChangeDateCheat(), IncreaseStats(), Load_LGRS(), Ptrs_LGRS(), Run(), Save_LGRS(), SetStartingYear(), and Station::~Station().
 1.8.1.2
 1.8.1.2