SST/macro
sst_message.h
Go to the documentation of this file.
1 /*
2  * This file is part of SST/macroscale:
3  * The macroscale architecture simulator from the SST suite.
4  * Copyright (c) 2009 Sandia Corporation.
5  * This software is distributed under the BSD License.
6  * Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7  * the U.S. Government retains certain rights in this software.
8  * For more information, see the LICENSE file in the top
9  * SST/macroscale directory.
10  */
11 
12 #ifndef SSTMAC_COMMON_MESSAGES_SST_MESSAGE_H_INCLUDED
13 #define SSTMAC_COMMON_MESSAGES_SST_MESSAGE_H_INCLUDED
14 
15 
18 #include <sprockit/metadata_bits.h>
20 
21 
22 namespace sstmac {
23 
24 class flow : public event
25 {
26  public:
27  virtual uint64_t
28  unique_id() const = 0;
29 
30  /**
31  * Virtual function to return size. Child classes should impement this
32  * if they want any size tracked / modeled.
33  * @return Zero size, meant to be implemented by children.
34  */
35  virtual long
36  byte_length() const = 0;
37 };
38 
39 /**
40  * A class describing an event.
41  */
42 class message :
43  public flow
44 {
45 
46  public:
47  virtual ~message() {}
48 
49  virtual node_id
50  toaddr() const = 0;
51 
52  virtual node_id
53  fromaddr() const = 0;
54 
55 };
56 
57 
58 
59 
60 
61 } // end of namespace sstmac
62 #endif
63 
virtual uint64_t unique_id() const =0
A class describing an event.
Definition: sst_message.h:42
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual ~message()
Definition: sst_message.h:47
virtual long byte_length() const =0
Virtual function to return size.
endpoint_id node_id
Definition: node_address.h:20