Home
Roadside
Carputer
geoHist
software
FRC
Blog
Now you can download a copy of these docs so you can use them offline!
Download now
Main Page
Related Pages
Classes
Files
File List
networktables2
server
ServerNetworkTableEntryStore.cpp
1
/*
2
* ServerNetworkTableEntryStore.cpp
3
*
4
* Created on: Sep 26, 2012
5
* Author: Mitchell Wills
6
*/
7
8
#include "networktables2/server/ServerNetworkTableEntryStore.h"
9
10
ServerNetworkTableEntryStore::ServerNetworkTableEntryStore
(
TableListenerManager
& _listenerManager) :
11
AbstractNetworkTableEntryStore
(_listenerManager)
12
{
13
nextId = (EntryId)0;
14
}
15
ServerNetworkTableEntryStore::~ServerNetworkTableEntryStore()
16
{
17
}
18
19
bool
ServerNetworkTableEntryStore::addEntry(
NetworkTableEntry
* newEntry)
20
{
21
NTSynchronized
sync(LOCK);
22
NetworkTableEntry
* entry = namedEntries[newEntry->
name
];
23
24
if
(entry == NULL)
25
{
26
newEntry->
SetId
(nextId++);
27
idEntries[newEntry->GetId()] = newEntry;
28
namedEntries[newEntry->
name
] = newEntry;
29
return
true
;
30
}
31
return
false
;
32
}
33
34
bool
ServerNetworkTableEntryStore::updateEntry(
NetworkTableEntry
* entry, SequenceNumber sequenceNumber,
EntryValue
value)
35
{
36
NTSynchronized
sync(LOCK);
37
return
entry->PutValue(sequenceNumber, value);
38
}
39
45
void
ServerNetworkTableEntryStore::sendServerHello
(
NetworkTableConnection
& connection)
46
{
47
NTSynchronized
sync(LOCK);
48
std::map<std::string, NetworkTableEntry*>::iterator itr;
49
for
(itr = namedEntries.begin(); itr != namedEntries.end(); itr++)
50
{
51
NetworkTableEntry
* entry = itr->second;
52
connection.sendEntryAssignment(*entry);
53
}
54
connection.sendServerHelloComplete();
55
connection.flush();
56
}
NTSynchronized
Definition:
OSAL/Synchronized.h:77
AbstractNetworkTableEntryStore
Definition:
AbstractNetworkTableEntryStore.h:36
ServerNetworkTableEntryStore::ServerNetworkTableEntryStore
ServerNetworkTableEntryStore(TableListenerManager &listenerManager)
Definition:
ServerNetworkTableEntryStore.cpp:10
NetworkTableEntry
Definition:
NetworkTableEntry.h:30
NetworkTableEntry::SetId
void SetId(EntryId id)
Definition:
NetworkTableEntry.cpp:105
NetworkTableConnection
Definition:
NetworkTableConnection.h:30
ServerNetworkTableEntryStore::sendServerHello
void sendServerHello(NetworkTableConnection &connection)
Definition:
ServerNetworkTableEntryStore.cpp:45
TableListenerManager
Definition:
AbstractNetworkTableEntryStore.h:30
EntryValue
Definition:
ITable.h:13
NetworkTableEntry::name
std::string name
Definition:
NetworkTableEntry.h:41
Generated on Sat Apr 26 2014 12:26:45 for WPILibC++ by
1.8.6
© 2006-2009 Dustin Spicuzza. All rights reserved.
Powered by Onnac
I do not condone or encourage graffiti. Please paint responsibly.