channel.cc (12954:8ea3a185354c) channel.cc (13059:4be5f408e128)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 20 unchanged lines hidden (view full) ---

29
30#include "systemc/core/channel.hh"
31
32#include "systemc/core/scheduler.hh"
33
34namespace sc_gem5
35{
36
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 20 unchanged lines hidden (view full) ---

29
30#include "systemc/core/channel.hh"
31
32#include "systemc/core/scheduler.hh"
33
34namespace sc_gem5
35{
36
37Channel::Channel(sc_core::sc_prim_channel *_sc_chan) : _sc_chan(_sc_chan)
38{
39 allChannels.insert(this);
40}
41
42Channel::~Channel()
43{
44 allChannels.erase(this);
45}
46
37void
38Channel::requestUpdate()
39{
40 scheduler.requestUpdate(this);
41}
42
43void
44Channel::asyncRequestUpdate()
45{
46 //TODO This should probably not request an update directly.
47 scheduler.requestUpdate(this);
48}
49
47void
48Channel::requestUpdate()
49{
50 scheduler.requestUpdate(this);
51}
52
53void
54Channel::asyncRequestUpdate()
55{
56 //TODO This should probably not request an update directly.
57 scheduler.requestUpdate(this);
58}
59
60std::set<Channel *> allChannels;
61
50} // namespace sc_gem5
62} // namespace sc_gem5