NEST  2.6.0,not_revisioned_source_dir@0
proxynode.h
Go to the documentation of this file.
1 /*
2  * proxynode.h
3  *
4  * This file is part of NEST.
5  *
6  * Copyright (C) 2004 The NEST Initiative
7  *
8  * NEST is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * NEST is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with NEST. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef PROXYNODE_H
24 #define PROXYNODE_H
25 
26 #include "node.h"
27 
28 namespace nest
29 {
30  class SpikeEvent;
31  class CurrentEvent;
32 
33 /* BeginDocumentation
34 Name: proxynode - Proxy to provide Nodes on remote machines
35 Description:
36 Remarks:
37 Parameters:
38 References:
39 Author: June 2005, Jochen Martin Eppler
40 */
41 
45  class proxynode: public Node
46  {
47 
48  public:
49  proxynode() : Node() { set_frozen_(true); }
50 
59 
68  using Node::handle;
69 
71  void handle(SpikeEvent &) {}
72 
73  void get_status(DictionaryDatum &) const {}
74 
82  void set_status(const DictionaryDatum &) { assert(false); }
83 
84  bool is_proxy() const;
85 
86  private:
87  void init_state_(const Node&) {}
88  void init_buffers_() {}
89  void calibrate() {}
90  void update(Time const &, const long_t, const long_t) {}
91 
92  };
93 
94  inline
95  bool proxynode::is_proxy() const
96  {
97  return true;
98  }
99 
100 } // namespace
101 
102 #endif //PROXYNODE_H
size_t index
Unsigned long type for enumerations.
Definition: nest.h:109
void get_status(DictionaryDatum &) const
Definition: proxynode.h:73
Declarations for base class Node.
long_t rport
Connection port number to distinguish incoming connections, also called receiver port.
Definition: nest.h:147
bool is_proxy() const
Returns true if the node is a proxy node.
Definition: proxynode.h:95
assert(pNet!=0)
Definition: nest_time.h:130
void handle(SpikeEvent &)
Handle incoming spike events.
Definition: proxynode.h:71
void init_state_(const Node &)
Private function to initialize the state of a node to model defaults.
Definition: proxynode.h:87
void set_frozen_(bool frozen)
Mark node as frozen.
Definition: node.h:667
void calibrate()
Re-calculate dependent parameters of the node.
Definition: proxynode.h:89
void update(Time const &, const long_t, const long_t)
Bring the node from state $t$ to $t+n*dt$.
Definition: proxynode.h:90
long_t port
Connection port number to distinguis outgoing connections.
Definition: nest.h:155
virtual void handle(SpikeEvent &e)
Handle incoming spike events.
Definition: node.cpp:198
port send_test_event(Node &, rport, synindex, bool)
Send an event to the receiving_node passed as an argument.
Definition: proxynode.cpp:44
unsigned char synindex
Unsigned char type for enumerations of synapse types.
Definition: nest.h:115
Event for spike information.
Definition: event.h:320
void init_buffers_()
Private function to initialize the buffers of a node.
Definition: proxynode.h:88
void set_status(const DictionaryDatum &)
Proxy nodes have no properties.
Definition: proxynode.h:82
Base class for all NEST network objects.
Definition: node.h:96
proxynode()
Definition: proxynode.h:49
long long_t
Integer number with at least 32 bit.
Definition: nest.h:96
Proxy Node to provide Nodes, where there aren't real Nodes to be.
Definition: proxynode.h:45