feat(tcp): TCPStreamer DataSources, in-process TCPStreamService, stream multiplexing and TCPStreamJoin
Add TCPStreamer/TCPStreamerClient (TCP transport behind the UDPSServerI/UDPSClientI seam), an optional single in-process TCPStreamService serving many streams over worker threads, multiplexed SUBSCRIBE (comma list, stream index in fragmentIdx), and TCPStreamJoin, which merges several streams into one sample-and-hold stream paced by a master. StreamHub takes a comma list of streams over one connection. Includes GTests, E2E scenarios s58-s73 and docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
5562877c99
commit
50d85363a3
79 files changed
+12348
-138
No files matched your search
@@ -44,12 +44,16 @@ INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams
|
||||
INCLUDES += -I$(MARTe2_DIR)/Lib/gtest-1.7.0/include
|
||||
INCLUDES += -I$(ROOT_DIR)/Common/UDP
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/DataSources/UDPStreamer
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/DataSources/UDPStreamerClient
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/DataSources/TCPStreamer
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/DataSources/TCPStreamerClient
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/Interfaces/DebugService
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/Interfaces/TCPLogger
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/Interfaces/UDPStream
|
||||
INCLUDES += -I$(ROOT_DIR)/Source/Components/Interfaces/TCPStreamService
|
||||
INCLUDES += -I$(ROOT_DIR)/Test/Components/DataSources/UDPStreamer
|
||||
|
||||
OBJSX = DebugServiceGTest.x UDPSClientGTest.x
|
||||
OBJSX = DebugServiceGTest.x UDPSClientGTest.x TCPSServerGTest.x TCPSClientGTest.x TCPStreamerGTest.x TCPStreamServiceGTest.x
|
||||
|
||||
all: $(BUILD_DIR)/MainGTest$(EXEEXT)
|
||||
|
||||
|
||||
@@ -0,0 +1,699 @@
|
||||
/**
|
||||
* @file TCPSClientGTest.cpp
|
||||
* @brief GTest coverage for TCPSClient (UDPS framing over TCP, consumer side).
|
||||
*
|
||||
* Each test runs the real TCPSClient either against the real TCPSServer or
|
||||
* against a scripted raw-socket "server" that misbehaves on purpose (bad
|
||||
* magic, oversize length, byte-at-a-time delivery, silence).
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*/
|
||||
|
||||
#define DLL_API
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "ConfigurationDatabase.h"
|
||||
#include "Sleep.h"
|
||||
#include "TCPSClient.h"
|
||||
#include "TCPSServer.h"
|
||||
#include "TCPTestUtil.h"
|
||||
|
||||
using namespace MARTe;
|
||||
using namespace tcptest;
|
||||
|
||||
namespace {
|
||||
|
||||
/** Thread-safe recorder of everything the client delivers. */
|
||||
class Recorder : public UDPSClientListener {
|
||||
public:
|
||||
Recorder() : connects(0u), disconnects(0u) {
|
||||
pthread_mutex_init(&mu, NULL);
|
||||
}
|
||||
~Recorder() {
|
||||
pthread_mutex_destroy(&mu);
|
||||
}
|
||||
virtual void OnUDPSConfig(const uint8 *p, uint32 n) {
|
||||
pthread_mutex_lock(&mu);
|
||||
configs.push_back(std::vector<uint8>(p, p + n));
|
||||
order.push_back('C');
|
||||
pthread_mutex_unlock(&mu);
|
||||
}
|
||||
virtual void OnUDPSData(const uint8 *p, uint32 n) {
|
||||
pthread_mutex_lock(&mu);
|
||||
datas.push_back(std::vector<uint8>(p, p + n));
|
||||
order.push_back('D');
|
||||
pthread_mutex_unlock(&mu);
|
||||
}
|
||||
virtual void OnUDPSFragment(uint32 counter, uint32 nBytes, bool complete) {
|
||||
pthread_mutex_lock(&mu);
|
||||
counters.push_back(counter);
|
||||
pthread_mutex_unlock(&mu);
|
||||
}
|
||||
virtual void OnUDPSConnected() {
|
||||
pthread_mutex_lock(&mu);
|
||||
connects++;
|
||||
pthread_mutex_unlock(&mu);
|
||||
}
|
||||
virtual void OnUDPSDisconnected() {
|
||||
pthread_mutex_lock(&mu);
|
||||
disconnects++;
|
||||
pthread_mutex_unlock(&mu);
|
||||
}
|
||||
uint32 NumConfigs() { return Locked(configs.size()); }
|
||||
uint32 NumDatas() { return Locked(datas.size()); }
|
||||
uint32 Connects() { return Locked(connects); }
|
||||
uint32 Disconnects() { return Locked(disconnects); }
|
||||
|
||||
std::vector<uint8> Config(size_t i) {
|
||||
pthread_mutex_lock(&mu);
|
||||
std::vector<uint8> v = configs[i];
|
||||
pthread_mutex_unlock(&mu);
|
||||
return v;
|
||||
}
|
||||
std::vector<uint8> Data(size_t i) {
|
||||
pthread_mutex_lock(&mu);
|
||||
std::vector<uint8> v = datas[i];
|
||||
pthread_mutex_unlock(&mu);
|
||||
return v;
|
||||
}
|
||||
uint32 Counter(size_t i) {
|
||||
pthread_mutex_lock(&mu);
|
||||
uint32 v = counters[i];
|
||||
pthread_mutex_unlock(&mu);
|
||||
return v;
|
||||
}
|
||||
std::string Order() {
|
||||
pthread_mutex_lock(&mu);
|
||||
std::string v = order;
|
||||
pthread_mutex_unlock(&mu);
|
||||
return v;
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 Locked(size_t v) {
|
||||
pthread_mutex_lock(&mu);
|
||||
uint32 r = static_cast<uint32>(v);
|
||||
pthread_mutex_unlock(&mu);
|
||||
return r;
|
||||
}
|
||||
pthread_mutex_t mu;
|
||||
std::vector<std::vector<uint8> > configs;
|
||||
std::vector<std::vector<uint8> > datas;
|
||||
std::vector<uint32> counters;
|
||||
std::string order;
|
||||
uint32 connects;
|
||||
uint32 disconnects;
|
||||
};
|
||||
|
||||
bool InitClient(TCPSClient &c, uint16 port, float32 reconnect = 0.1f, float32 silence = 0.0f) {
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("ServerAddr", "127.0.0.1");
|
||||
(void)cdb.Write("Port", static_cast<uint32>(port));
|
||||
(void)cdb.Write("ReconnectDelay", reconnect);
|
||||
(void)cdb.Write("SilenceTimeout", silence);
|
||||
return c.Initialise(cdb);
|
||||
}
|
||||
|
||||
bool InitServer(TCPSServer &s, uint16 port) {
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("Port", static_cast<uint32>(port));
|
||||
return s.Initialise(cdb);
|
||||
}
|
||||
|
||||
/** Pump the server until @p cond is true or timeout. */
|
||||
#define PUMP_UNTIL(server, cond, timeoutMs, result) \
|
||||
{ \
|
||||
const uint64 pumpDeadline = NowMs() + (timeoutMs); \
|
||||
(result) = false; \
|
||||
while (NowMs() < pumpDeadline) { \
|
||||
(server).ServiceClients(); \
|
||||
if (cond) { \
|
||||
(result) = true; \
|
||||
break; \
|
||||
} \
|
||||
Sleep::MSec(5u); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define WAIT_UNTIL(cond, timeoutMs, result) \
|
||||
{ \
|
||||
const uint64 waitDeadline = NowMs() + (timeoutMs); \
|
||||
(result) = false; \
|
||||
while (NowMs() < waitDeadline) { \
|
||||
if (cond) { \
|
||||
(result) = true; \
|
||||
break; \
|
||||
} \
|
||||
Sleep::MSec(5u); \
|
||||
} \
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST(TCPSClientGTest, TestInitialise_RequiresPort) {
|
||||
TCPSClient c;
|
||||
ConfigurationDatabase cdb;
|
||||
EXPECT_FALSE(c.Initialise(cdb));
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestInitialise_RejectsNegativeTimes) {
|
||||
{
|
||||
TCPSClient c;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("Port", static_cast<uint32>(44500u));
|
||||
(void)cdb.Write("SilenceTimeout", -1.0f);
|
||||
EXPECT_FALSE(c.Initialise(cdb));
|
||||
}
|
||||
{
|
||||
TCPSClient c;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("Port", static_cast<uint32>(44500u));
|
||||
(void)cdb.Write("ReconnectDelay", -1.0f);
|
||||
EXPECT_FALSE(c.Initialise(cdb));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestReceivesConfigThenData) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 0u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
std::vector<uint8> cfg = Pattern(136u * 2u + 16u, 4u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg[0], static_cast<uint32>(cfg.size())));
|
||||
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, server.GetPort()));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
bool ok;
|
||||
PUMP_UNTIL(server, rec.NumConfigs() == 1u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
EXPECT_TRUE(client.IsConnected());
|
||||
EXPECT_EQ(1u, rec.Connects());
|
||||
EXPECT_EQ(cfg, rec.Config(0u));
|
||||
|
||||
for (uint32 c = 1u; c <= 20u; c++) {
|
||||
std::vector<uint8> d = Pattern(300u, static_cast<uint8>(c));
|
||||
ASSERT_TRUE(server.SendData(c, &d[0], 300u));
|
||||
}
|
||||
PUMP_UNTIL(server, rec.NumDatas() == 20u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
for (uint32 c = 1u; c <= 20u; c++) {
|
||||
EXPECT_EQ(Pattern(300u, static_cast<uint8>(c)), rec.Data(c - 1u));
|
||||
EXPECT_EQ(c, rec.Counter(c - 1u));
|
||||
}
|
||||
EXPECT_EQ("C" + std::string(20, 'D'), rec.Order());
|
||||
EXPECT_EQ(0u, client.GetProtocolErrors());
|
||||
|
||||
EXPECT_TRUE(client.Stop());
|
||||
EXPECT_EQ(1u, rec.Disconnects());
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestLargeFrame) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 0u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, server.GetPort()));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
bool ok;
|
||||
PUMP_UNTIL(server, server.GetClientCount() == 1u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
|
||||
std::vector<uint8> big = Pattern(900000u, 11u);
|
||||
ASSERT_TRUE(server.SendData(1u, &big[0], static_cast<uint32>(big.size())));
|
||||
PUMP_UNTIL(server, rec.NumDatas() == 1u, 5000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
EXPECT_TRUE(big == rec.Data(0u));
|
||||
client.Stop();
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestReconnectAfterServerRestart) {
|
||||
uint16 port = 0u;
|
||||
int probe = Listen(port);
|
||||
ASSERT_GE(probe, 0);
|
||||
close(probe);
|
||||
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, port));
|
||||
ASSERT_TRUE(server.Start());
|
||||
std::vector<uint8> cfg = Pattern(40u, 2u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg[0], 40u));
|
||||
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 0.2f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
bool ok;
|
||||
PUMP_UNTIL(server, rec.NumConfigs() == 1u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
|
||||
server.Stop();
|
||||
WAIT_UNTIL(!client.IsConnected(), 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_EQ(1u, rec.Disconnects());
|
||||
|
||||
std::vector<uint8> cfg2 = Pattern(60u, 9u);
|
||||
ASSERT_TRUE(server.Start());
|
||||
ASSERT_TRUE(server.SendConfig(&cfg2[0], 60u));
|
||||
PUMP_UNTIL(server, rec.NumConfigs() == 2u, 4000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
EXPECT_EQ(cfg2, rec.Config(1u));
|
||||
EXPECT_EQ(2u, client.GetConnectionCount());
|
||||
EXPECT_EQ(2u, rec.Connects());
|
||||
|
||||
client.Stop();
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestRejectsBadMagic_ThenRecovers) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 0.1f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
int s1 = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s1, 0);
|
||||
std::vector<uint8> junk(UDPS_HEADER_SIZE, 0xAAu);
|
||||
ASSERT_TRUE(SendAll(s1, &junk[0], junk.size()));
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.GetProtocolErrors() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_TRUE(PeerClosed(s1, 1000));
|
||||
close(s1);
|
||||
|
||||
// The client re-opens the connection and a well-formed stream works.
|
||||
int s2 = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s2, 0);
|
||||
std::vector<uint8> cfg = Pattern(20u, 1u);
|
||||
std::vector<uint8> f = MakeFrame(UDPS_TYPE_CONFIG, 1u, cfg);
|
||||
ASSERT_TRUE(SendAll(s2, &f[0], f.size()));
|
||||
WAIT_UNTIL(rec.NumConfigs() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_EQ(0u, rec.NumDatas());
|
||||
|
||||
client.Stop();
|
||||
close(s2);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestRejectsOversizeLength) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 5.0f)); // no quick reconnect
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
uint8 hdr[UDPS_HEADER_SIZE];
|
||||
UDPSBuildHeader(hdr, UDPS_TYPE_DATA, 1u, 0u, 1u, UDPSClient::UDPS_CLIENT_MAX_PACKET_BYTES + 1u);
|
||||
ASSERT_TRUE(SendAll(s, hdr, sizeof(hdr)));
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.GetProtocolErrors() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_FALSE(client.IsConnected());
|
||||
EXPECT_EQ(0u, rec.NumDatas());
|
||||
client.Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestRejectsFragmentedFrame) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 5.0f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
std::vector<uint8> f = MakeFrame(UDPS_TYPE_DATA, 1u, Pattern(10u, 1u), 2u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.GetProtocolErrors() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_EQ(0u, rec.NumDatas());
|
||||
client.Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestPartialFrameReads) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 0.1f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
|
||||
std::vector<uint8> p1 = Pattern(64u, 1u);
|
||||
std::vector<uint8> p2 = Pattern(3000u, 2u);
|
||||
std::vector<uint8> f1 = MakeFrame(UDPS_TYPE_CONFIG, 1u, p1);
|
||||
std::vector<uint8> f2 = MakeFrame(UDPS_TYPE_DATA, 5u, p2);
|
||||
|
||||
// Frame 1: one byte at a time, so header and payload both split.
|
||||
for (size_t i = 0u; i < f1.size(); i++) {
|
||||
ASSERT_TRUE(SendAll(s, &f1[i], 1u));
|
||||
if ((i % 8u) == 0u) {
|
||||
Sleep::MSec(2u);
|
||||
}
|
||||
}
|
||||
// Frame 2: split in three uneven chunks with pauses.
|
||||
size_t cuts[3] = {5u, 20u, f2.size() - 25u};
|
||||
size_t at = 0u;
|
||||
for (int k = 0; k < 3; k++) {
|
||||
ASSERT_TRUE(SendAll(s, &f2[at], cuts[k] - at));
|
||||
at = cuts[k];
|
||||
Sleep::MSec(80u);
|
||||
}
|
||||
ASSERT_TRUE(SendAll(s, &f2[at], f2.size() - at));
|
||||
// Frames 3+4 coalesced in one write.
|
||||
std::vector<uint8> f3 = MakeFrame(UDPS_TYPE_DATA, 6u, Pattern(10u, 3u));
|
||||
std::vector<uint8> f4 = MakeFrame(UDPS_TYPE_DATA, 7u, Pattern(0u, 0u));
|
||||
std::vector<uint8> both(f3);
|
||||
both.insert(both.end(), f4.begin(), f4.end());
|
||||
ASSERT_TRUE(SendAll(s, &both[0], both.size()));
|
||||
|
||||
bool ok;
|
||||
WAIT_UNTIL(rec.NumDatas() == 3u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
EXPECT_EQ(p1, rec.Config(0u));
|
||||
EXPECT_EQ(p2, rec.Data(0u));
|
||||
EXPECT_EQ(Pattern(10u, 3u), rec.Data(1u));
|
||||
EXPECT_EQ(0u, rec.Data(2u).size());
|
||||
EXPECT_EQ(5u, rec.Counter(0u));
|
||||
EXPECT_EQ(7u, rec.Counter(2u));
|
||||
EXPECT_EQ(0u, client.GetProtocolErrors());
|
||||
client.Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestUnknownFrameTypeIgnored) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
|
||||
std::vector<uint8> a = MakeFrame(UDPS_TYPE_ACK, 1u, Pattern(4u, 1u));
|
||||
std::vector<uint8> b = MakeFrame(UDPS_TYPE_DATA, 2u, Pattern(4u, 2u));
|
||||
ASSERT_TRUE(SendAll(s, &a[0], a.size()));
|
||||
ASSERT_TRUE(SendAll(s, &b[0], b.size()));
|
||||
bool ok;
|
||||
WAIT_UNTIL(rec.NumDatas() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_EQ(0u, client.GetProtocolErrors());
|
||||
client.Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestSilenceTimeoutReconnects) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 0.1f, 0.3f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
|
||||
// The peer never sends anything: the client must give up and retry.
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.GetConnectionCount() >= 2u, 4000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_GE(rec.Disconnects(), 1u);
|
||||
client.Stop();
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestNoServer_RetriesAndStopsPromptly) {
|
||||
uint16 port = 0u;
|
||||
int probe = Listen(port);
|
||||
ASSERT_GE(probe, 0);
|
||||
close(probe); // nothing listens on `port` now
|
||||
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, port, 0.05f));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
Sleep::MSec(300u);
|
||||
EXPECT_FALSE(client.IsConnected());
|
||||
EXPECT_EQ(0u, client.GetConnectionCount());
|
||||
|
||||
const uint64 t0 = NowMs();
|
||||
EXPECT_TRUE(client.Stop());
|
||||
EXPECT_LT(NowMs() - t0, 1000u);
|
||||
|
||||
// A server appearing later is picked up on restart.
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, port));
|
||||
ASSERT_TRUE(server.Start());
|
||||
ASSERT_TRUE(client.Start());
|
||||
bool ok;
|
||||
PUMP_UNTIL(server, client.IsConnected(), 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
client.Stop();
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestStopWhileConnected_IsPrompt) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 0u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitClient(client, server.GetPort()));
|
||||
client.SetListener(&rec);
|
||||
ASSERT_TRUE(client.Start());
|
||||
bool ok;
|
||||
PUMP_UNTIL(server, client.IsConnected(), 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
const uint64 t0 = NowMs();
|
||||
EXPECT_TRUE(client.Stop());
|
||||
EXPECT_LT(NowMs() - t0, 1000u);
|
||||
EXPECT_FALSE(client.IsConnected());
|
||||
PUMP_UNTIL(server, server.GetClientCount() == 0u, 2000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Multiplexed connections (StreamName = "a,b,c")
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
namespace {
|
||||
|
||||
bool InitMuxClient(TCPSClient &c, uint16 port, const char *names) {
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("ServerAddr", "127.0.0.1");
|
||||
(void)cdb.Write("Port", static_cast<uint32>(port));
|
||||
(void)cdb.Write("ReconnectDelay", 5.0f);
|
||||
(void)cdb.Write("StreamName", names);
|
||||
return c.Initialise(cdb);
|
||||
}
|
||||
|
||||
/** Records the per-stream gap reported while each DATA frame is delivered. */
|
||||
class GapRecorder : public Recorder {
|
||||
public:
|
||||
GapRecorder() : source(NULL_PTR(UDPSClientI *)) {}
|
||||
void Watch(UDPSClientI *s) { source = s; }
|
||||
virtual void OnUDPSData(const uint8 *p, uint32 n) {
|
||||
gaps.push_back(source != NULL_PTR(UDPSClientI *) ? source->GetLastDataGap() : 0xFFFFu);
|
||||
Recorder::OnUDPSData(p, n);
|
||||
}
|
||||
std::vector<uint32> gaps; // read only after NumDatas() reached its target
|
||||
private:
|
||||
UDPSClientI *source;
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST(TCPSClientGTest, TestMux_StreamNameValidation) {
|
||||
const char *const bad[] = { "a,,b", ",a", "a,", "a,b,a" };
|
||||
for (size_t i = 0u; i < sizeof(bad) / sizeof(bad[0]); i++) {
|
||||
TCPSClient c;
|
||||
EXPECT_FALSE(InitMuxClient(c, 44500u, bad[i])) << bad[i];
|
||||
}
|
||||
{
|
||||
// 65 distinct names exceed the 64 stream limit.
|
||||
std::string many;
|
||||
for (int i = 0; i < 65; i++) {
|
||||
char b[16];
|
||||
snprintf(b, sizeof(b), "%ss%d", i ? "," : "", i);
|
||||
many += b;
|
||||
}
|
||||
TCPSClient c;
|
||||
EXPECT_FALSE(InitMuxClient(c, 44500u, many.c_str()));
|
||||
}
|
||||
{
|
||||
TCPSClient c;
|
||||
ASSERT_TRUE(InitMuxClient(c, 44500u, "fast,slow,third"));
|
||||
EXPECT_EQ(3u, c.GetNumStreams());
|
||||
EXPECT_TRUE(c.GetStream(0u) != NULL_PTR(UDPSClientI *));
|
||||
EXPECT_TRUE(c.GetStream(2u) != NULL_PTR(UDPSClientI *));
|
||||
EXPECT_TRUE(c.GetStream(3u) == NULL_PTR(UDPSClientI *));
|
||||
}
|
||||
{
|
||||
TCPSClient c;
|
||||
ASSERT_TRUE(InitMuxClient(c, 44500u, "only"));
|
||||
EXPECT_EQ(1u, c.GetNumStreams());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestMux_SendsListAndDemuxesByIndex) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
|
||||
GapRecorder r0, r1;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitMuxClient(client, port, "fast,slow"));
|
||||
r0.Watch(client.GetStream(0u));
|
||||
r1.Watch(client.GetStream(1u));
|
||||
client.GetStream(0u)->SetListener(&r0);
|
||||
client.GetStream(1u)->SetListener(&r1);
|
||||
ASSERT_TRUE(client.GetStream(0u)->Start());
|
||||
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
Frame sub;
|
||||
ASSERT_TRUE(ReadFrame(s, sub, 3000));
|
||||
EXPECT_EQ(UDPS_TYPE_SUBSCRIBE, sub.type);
|
||||
EXPECT_EQ(std::string("fast,slow"), std::string(sub.payload.begin(), sub.payload.end()));
|
||||
|
||||
std::vector<uint8> cfg0 = Pattern(20u, 1u);
|
||||
std::vector<uint8> cfg1 = Pattern(30u, 2u);
|
||||
std::vector<uint8> f;
|
||||
f = MakeFrame(UDPS_TYPE_CONFIG, 1u, cfg0, 1u, 0u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
f = MakeFrame(UDPS_TYPE_CONFIG, 1u, cfg1, 1u, 1u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
// Stream 0: counters 1,2,3 ; stream 1: counters 10, 13 (gap of 2).
|
||||
const uint32 c0[] = { 1u, 2u, 3u };
|
||||
for (size_t i = 0u; i < 3u; i++) {
|
||||
f = MakeFrame(UDPS_TYPE_DATA, c0[i], Pattern(8u, static_cast<uint8>(c0[i])), 1u, 0u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
}
|
||||
const uint32 c1[] = { 10u, 13u };
|
||||
for (size_t i = 0u; i < 2u; i++) {
|
||||
f = MakeFrame(UDPS_TYPE_DATA, c1[i], Pattern(12u, static_cast<uint8>(c1[i])), 1u, 1u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
}
|
||||
|
||||
bool ok;
|
||||
WAIT_UNTIL(r0.NumDatas() == 3u && r1.NumDatas() == 2u, 3000u, ok);
|
||||
ASSERT_TRUE(ok);
|
||||
EXPECT_EQ(cfg0, r0.Config(0u));
|
||||
EXPECT_EQ(cfg1, r1.Config(0u));
|
||||
EXPECT_EQ(1u, r0.NumConfigs());
|
||||
EXPECT_EQ(1u, r1.NumConfigs());
|
||||
EXPECT_EQ(Pattern(8u, 3u), r0.Data(2u));
|
||||
EXPECT_EQ(Pattern(12u, 13u), r1.Data(1u));
|
||||
ASSERT_EQ(3u, r0.gaps.size());
|
||||
ASSERT_EQ(2u, r1.gaps.size());
|
||||
EXPECT_EQ(0u, r0.gaps[0]);
|
||||
EXPECT_EQ(0u, r0.gaps[2]);
|
||||
EXPECT_EQ(0u, r1.gaps[0]);
|
||||
EXPECT_EQ(2u, r1.gaps[1]) << "gaps are tracked per stream";
|
||||
EXPECT_EQ(0u, client.GetProtocolErrors());
|
||||
|
||||
client.GetStream(0u)->Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestMux_StreamIndexOutOfRangeIsProtocolError) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
Recorder rec;
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitMuxClient(client, port, "a,b"));
|
||||
client.GetStream(0u)->SetListener(&rec);
|
||||
ASSERT_TRUE(client.GetStream(0u)->Start());
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
std::vector<uint8> f = MakeFrame(UDPS_TYPE_DATA, 1u, Pattern(8u, 1u), 1u, 2u);
|
||||
ASSERT_TRUE(SendAll(s, &f[0], f.size()));
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.GetProtocolErrors() == 1u, 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
EXPECT_EQ(0u, rec.NumDatas());
|
||||
client.GetStream(0u)->Stop();
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPSClientGTest, TestMux_FacadeStartStopIsReferenceCounted) {
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
TCPSClient client;
|
||||
ASSERT_TRUE(InitMuxClient(client, port, "a,b"));
|
||||
UDPSClientI *a = client.GetStream(0u);
|
||||
UDPSClientI *b = client.GetStream(1u);
|
||||
|
||||
ASSERT_TRUE(a->Start());
|
||||
ASSERT_TRUE(a->Start()); // idempotent per facade
|
||||
ASSERT_TRUE(b->Start());
|
||||
int s = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(s, 0);
|
||||
bool ok;
|
||||
WAIT_UNTIL(client.IsConnected(), 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
|
||||
EXPECT_TRUE(a->Stop());
|
||||
EXPECT_TRUE(a->Stop());
|
||||
Sleep::MSec(150u);
|
||||
EXPECT_TRUE(client.IsConnected()) << "b still wants the connection";
|
||||
|
||||
EXPECT_TRUE(b->Stop());
|
||||
WAIT_UNTIL(!client.IsConnected(), 3000u, ok);
|
||||
EXPECT_TRUE(ok);
|
||||
Frame sub; // drain the SUBSCRIBE the client sent on connect
|
||||
EXPECT_TRUE(ReadFrame(s, sub, 1000));
|
||||
EXPECT_TRUE(PeerClosed(s, 1000));
|
||||
close(s);
|
||||
close(lfd);
|
||||
}
|
||||
@@ -0,0 +1,455 @@
|
||||
/**
|
||||
* @file TCPSServerGTest.cpp
|
||||
* @brief GTest coverage for TCPSServer (UDPS framing over TCP, producer side).
|
||||
*
|
||||
* The server is driven the way UDPStreamer drives it (single thread:
|
||||
* ServiceClients / SendConfig / SendData) and observed through raw loopback
|
||||
* sockets, so these tests pin down the wire behaviour.
|
||||
*
|
||||
* @copyright Copyright 2015 F4E | European Joint Undertaking for ITER and
|
||||
* the Development of Fusion Energy ('Fusion for Energy').
|
||||
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved
|
||||
* by the European Commission - subsequent versions of the EUPL (the "Licence")
|
||||
* You may not use this work except in compliance with the Licence.
|
||||
* You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
|
||||
*/
|
||||
|
||||
#define DLL_API
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "ConfigurationDatabase.h"
|
||||
#include "Sleep.h"
|
||||
#include "TCPSServer.h"
|
||||
#include "TCPTestUtil.h"
|
||||
|
||||
using namespace MARTe;
|
||||
using namespace tcptest;
|
||||
|
||||
namespace {
|
||||
|
||||
/** Initialise @p server on an ephemeral port with the given limits. */
|
||||
bool InitServer(TCPSServer &server, uint32 maxPayload = 60000u, uint32 maxClients = 16u,
|
||||
uint32 depth = 8u, uint32 stallS = 5u, uint32 sndBuf = 0u) {
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("Port", static_cast<uint32>(0u));
|
||||
(void)cdb.Write("MaxPayloadSize", maxPayload);
|
||||
(void)cdb.Write("MaxClients", maxClients);
|
||||
(void)cdb.Write("ClientQueueDepth", depth);
|
||||
(void)cdb.Write("ClientStallTimeout", stallS);
|
||||
(void)cdb.Write("SendBufferSize", sndBuf);
|
||||
return server.Initialise(cdb);
|
||||
}
|
||||
|
||||
/** Pump ServiceClients() until @p n clients are attached. */
|
||||
bool WaitClients(TCPSServer &server, uint32 n, uint32 timeoutMs) {
|
||||
const uint64 deadline = NowMs() + timeoutMs;
|
||||
while (NowMs() < deadline) {
|
||||
server.ServiceClients();
|
||||
if (server.GetClientCount() == n) {
|
||||
return true;
|
||||
}
|
||||
Sleep::MSec(5u);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Pump ServiceClients() for @p ms. */
|
||||
void Pump(TCPSServer &server, uint32 ms) {
|
||||
const uint64 deadline = NowMs() + ms;
|
||||
while (NowMs() < deadline) {
|
||||
server.ServiceClients();
|
||||
Sleep::MSec(5u);
|
||||
}
|
||||
}
|
||||
|
||||
struct FastReader {
|
||||
int fd;
|
||||
std::vector<uint32> counters;
|
||||
std::vector<uint8> configPayload;
|
||||
bool sawConfigFirst;
|
||||
bool badFrame;
|
||||
uint32 stopAt;
|
||||
};
|
||||
|
||||
void *FastReaderMain(void *arg) {
|
||||
FastReader *r = static_cast<FastReader *>(arg);
|
||||
r->sawConfigFirst = false;
|
||||
r->badFrame = false;
|
||||
bool first = true;
|
||||
Frame f;
|
||||
for (;;) {
|
||||
if (!ReadFrame(r->fd, f, 3000)) {
|
||||
break;
|
||||
}
|
||||
if (first) {
|
||||
r->sawConfigFirst = (f.type == UDPS_TYPE_CONFIG);
|
||||
first = false;
|
||||
}
|
||||
if (f.type == UDPS_TYPE_CONFIG) {
|
||||
r->configPayload = f.payload;
|
||||
} else if (f.type == UDPS_TYPE_DATA) {
|
||||
r->counters.push_back(f.counter);
|
||||
if (f.payload.size() != 60000u) {
|
||||
r->badFrame = true;
|
||||
}
|
||||
if (f.counter >= r->stopAt) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
r->badFrame = true;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST(TCPSServerGTest, TestInitialise_Defaults) {
|
||||
TCPSServer server;
|
||||
ConfigurationDatabase cdb;
|
||||
ASSERT_TRUE(server.Initialise(cdb));
|
||||
EXPECT_EQ(TCPSServer::TCPS_DEFAULT_MAX_PAYLOAD, server.GetMaxPayloadSize());
|
||||
EXPECT_EQ(static_cast<uint16>(TCPSServer::TCPS_DEFAULT_PORT), server.GetPort());
|
||||
EXPECT_FALSE(server.IsMulticast());
|
||||
EXPECT_FALSE(server.HasClients());
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestInitialise_RejectsBadValues) {
|
||||
{
|
||||
TCPSServer s;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("MaxPayloadSize", static_cast<uint32>(0u));
|
||||
EXPECT_FALSE(s.Initialise(cdb));
|
||||
}
|
||||
{
|
||||
TCPSServer s;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("MaxPayloadSize", static_cast<uint32>(2000000u));
|
||||
EXPECT_FALSE(s.Initialise(cdb));
|
||||
}
|
||||
{
|
||||
TCPSServer s;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("ClientQueueDepth", static_cast<uint32>(0u));
|
||||
EXPECT_FALSE(s.Initialise(cdb));
|
||||
}
|
||||
{
|
||||
TCPSServer s;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("MaxClients", static_cast<uint32>(0u));
|
||||
EXPECT_FALSE(s.Initialise(cdb));
|
||||
}
|
||||
{
|
||||
TCPSServer s;
|
||||
ConfigurationDatabase cdb;
|
||||
(void)cdb.Write("Port", static_cast<uint32>(70000u));
|
||||
EXPECT_FALSE(s.Initialise(cdb));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestStartStop_Idempotent) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server));
|
||||
ASSERT_TRUE(server.Start());
|
||||
EXPECT_TRUE(server.Start());
|
||||
EXPECT_NE(0u, server.GetPort());
|
||||
EXPECT_TRUE(server.Stop());
|
||||
EXPECT_TRUE(server.Stop());
|
||||
ASSERT_TRUE(server.Start());
|
||||
EXPECT_NE(0u, server.GetPort());
|
||||
EXPECT_TRUE(server.Stop());
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestConfigBeforeData_LateJoin) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server));
|
||||
ASSERT_TRUE(server.Start());
|
||||
|
||||
std::vector<uint8> cfg = Pattern(40u, 3u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg[0], 40u));
|
||||
std::vector<uint8> d = Pattern(100u, 9u);
|
||||
EXPECT_TRUE(server.SendData(1u, &d[0], 100u)); // nobody listening: harmless
|
||||
|
||||
int fd = Connect(server.GetPort());
|
||||
ASSERT_GE(fd, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
EXPECT_TRUE(server.HasClients());
|
||||
|
||||
ASSERT_TRUE(server.SendData(2u, &d[0], 100u));
|
||||
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type);
|
||||
EXPECT_EQ(1u, f.totalFragments);
|
||||
EXPECT_EQ(cfg, f.payload);
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_DATA, f.type);
|
||||
EXPECT_EQ(2u, f.counter);
|
||||
EXPECT_EQ(d, f.payload);
|
||||
|
||||
close(fd);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestMultipleClients_InOrder) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 60000u, 16u, 64u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
std::vector<uint8> cfg = Pattern(24u, 1u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg[0], 24u));
|
||||
|
||||
int fds[3];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
fds[i] = Connect(server.GetPort());
|
||||
ASSERT_GE(fds[i], 0);
|
||||
}
|
||||
ASSERT_TRUE(WaitClients(server, 3u, 2000u));
|
||||
|
||||
for (uint32 c = 1u; c <= 50u; c++) {
|
||||
std::vector<uint8> d = Pattern(200u, static_cast<uint8>(c));
|
||||
ASSERT_TRUE(server.SendData(c, &d[0], 200u));
|
||||
}
|
||||
for (int i = 0; i < 3; i++) {
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fds[i], f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type);
|
||||
for (uint32 c = 1u; c <= 50u; c++) {
|
||||
ASSERT_TRUE(ReadFrame(fds[i], f, 2000)) << "client " << i << " frame " << c;
|
||||
EXPECT_EQ(UDPS_TYPE_DATA, f.type);
|
||||
ASSERT_EQ(c, f.counter);
|
||||
EXPECT_EQ(Pattern(200u, static_cast<uint8>(c)), f.payload);
|
||||
}
|
||||
close(fds[i]);
|
||||
}
|
||||
EXPECT_EQ(0u, server.GetClientDrops());
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestReconfigDeliveredToConnectedClient) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server));
|
||||
ASSERT_TRUE(server.Start());
|
||||
|
||||
int fd = Connect(server.GetPort());
|
||||
ASSERT_GE(fd, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
|
||||
std::vector<uint8> cfg1 = Pattern(30u, 1u);
|
||||
std::vector<uint8> cfg2 = Pattern(50u, 2u);
|
||||
std::vector<uint8> d = Pattern(64u, 5u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg1[0], 30u));
|
||||
ASSERT_TRUE(server.SendData(1u, &d[0], 64u));
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(cfg1, f.payload);
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(1u, f.counter);
|
||||
|
||||
ASSERT_TRUE(server.SendConfig(&cfg2[0], 50u));
|
||||
ASSERT_TRUE(server.SendData(2u, &d[0], 64u));
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type);
|
||||
EXPECT_EQ(cfg2, f.payload);
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_DATA, f.type);
|
||||
EXPECT_EQ(2u, f.counter);
|
||||
|
||||
// A client joining now gets the NEW config.
|
||||
int fd2 = Connect(server.GetPort());
|
||||
ASSERT_GE(fd2, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 2u, 2000u));
|
||||
ASSERT_TRUE(ReadFrame(fd2, f, 2000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type);
|
||||
EXPECT_EQ(cfg2, f.payload);
|
||||
|
||||
close(fd);
|
||||
close(fd2);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestMaxClientsRefused) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 60000u, 2u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
|
||||
int fds[3];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
fds[i] = Connect(server.GetPort());
|
||||
ASSERT_GE(fds[i], 0);
|
||||
}
|
||||
Pump(server, 300u);
|
||||
EXPECT_EQ(2u, server.GetClientCount());
|
||||
|
||||
int closedCount = 0;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (PeerClosed(fds[i], 200)) {
|
||||
closedCount++;
|
||||
}
|
||||
close(fds[i]);
|
||||
}
|
||||
EXPECT_EQ(1, closedCount);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestPeerCloseEvicts) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server));
|
||||
ASSERT_TRUE(server.Start());
|
||||
|
||||
int fd = Connect(server.GetPort());
|
||||
ASSERT_GE(fd, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
close(fd);
|
||||
EXPECT_TRUE(WaitClients(server, 0u, 2000u));
|
||||
EXPECT_FALSE(server.HasClients());
|
||||
|
||||
// The slot is reusable.
|
||||
fd = Connect(server.GetPort());
|
||||
ASSERT_GE(fd, 0);
|
||||
EXPECT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
close(fd);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestOversizeFrameRefused) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server));
|
||||
ASSERT_TRUE(server.Start());
|
||||
int fd = Connect(server.GetPort());
|
||||
ASSERT_GE(fd, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
|
||||
std::vector<uint8> big(TCPSServer::TCPS_MAX_FRAME_PAYLOAD + 1u, 0u);
|
||||
EXPECT_FALSE(server.SendData(1u, &big[0], static_cast<uint32>(big.size())));
|
||||
EXPECT_FALSE(server.SendConfig(&big[0], static_cast<uint32>(big.size())));
|
||||
EXPECT_TRUE(server.HasClients());
|
||||
|
||||
// A frame between MaxPayloadSize and the hard limit is still carried.
|
||||
std::vector<uint8> mid(100000u, 7u);
|
||||
EXPECT_TRUE(server.SendData(2u, &mid[0], static_cast<uint32>(mid.size())));
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 2000));
|
||||
EXPECT_EQ(2u, f.counter);
|
||||
EXPECT_EQ(mid.size(), f.payload.size());
|
||||
close(fd);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestSlowClientDrops_FastClientComplete) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 60000u, 16u, 32u, 0u, 65536u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
std::vector<uint8> cfg = Pattern(24u, 1u);
|
||||
ASSERT_TRUE(server.SendConfig(&cfg[0], 24u));
|
||||
|
||||
int slow = Connect(server.GetPort(), 4096);
|
||||
int fast = Connect(server.GetPort());
|
||||
ASSERT_GE(slow, 0);
|
||||
ASSERT_GE(fast, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 2u, 2000u));
|
||||
|
||||
FastReader reader;
|
||||
reader.fd = fast;
|
||||
reader.stopAt = 200u;
|
||||
pthread_t th;
|
||||
ASSERT_EQ(0, pthread_create(&th, NULL, FastReaderMain, &reader));
|
||||
|
||||
for (uint32 c = 1u; c <= 200u; c++) {
|
||||
std::vector<uint8> d = Pattern(60000u, static_cast<uint8>(c));
|
||||
ASSERT_TRUE(server.SendData(c, &d[0], 60000u));
|
||||
server.ServiceClients();
|
||||
Sleep::MSec(2u);
|
||||
}
|
||||
|
||||
// Drain the slow client: the stream must still be well-formed, begin with
|
||||
// CONFIG and have strictly increasing counters (gaps = dropped frames).
|
||||
uint32 slowFrames = 0u;
|
||||
uint32 lastCounter = 0u;
|
||||
bool slowFirstConfig = false;
|
||||
bool slowInOrder = true;
|
||||
uint32 idle = 0u;
|
||||
while (idle < 20u) {
|
||||
server.ServiceClients();
|
||||
Frame f;
|
||||
if (ReadFrame(slow, f, 10)) {
|
||||
idle = 0u;
|
||||
if (slowFrames == 0u) {
|
||||
slowFirstConfig = (f.type == UDPS_TYPE_CONFIG);
|
||||
}
|
||||
if (f.type == UDPS_TYPE_DATA) {
|
||||
if (f.counter <= lastCounter) {
|
||||
slowInOrder = false;
|
||||
}
|
||||
lastCounter = f.counter;
|
||||
if (f.payload.size() != 60000u) {
|
||||
slowInOrder = false;
|
||||
}
|
||||
}
|
||||
slowFrames++;
|
||||
} else {
|
||||
idle++;
|
||||
}
|
||||
}
|
||||
|
||||
pthread_join(th, NULL);
|
||||
|
||||
ASSERT_EQ(200u, reader.counters.size());
|
||||
for (uint32 i = 0u; i < 200u; i++) {
|
||||
ASSERT_EQ(i + 1u, reader.counters[i]);
|
||||
}
|
||||
EXPECT_TRUE(reader.sawConfigFirst);
|
||||
EXPECT_FALSE(reader.badFrame);
|
||||
EXPECT_GT(server.GetClientDrops(), 100u);
|
||||
EXPECT_TRUE(slowFirstConfig);
|
||||
EXPECT_TRUE(slowInOrder);
|
||||
EXPECT_GT(slowFrames, 1u);
|
||||
EXPECT_LT(slowFrames, 201u); // some frames were dropped for it
|
||||
EXPECT_EQ(2u, server.GetClientCount());
|
||||
|
||||
close(slow);
|
||||
close(fast);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestStallDisconnect) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 60000u, 16u, 4u, 1u, 8192u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
int slow = Connect(server.GetPort(), 4096);
|
||||
ASSERT_GE(slow, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
|
||||
std::vector<uint8> d = Pattern(60000u, 1u);
|
||||
for (uint32 c = 1u; c <= 6u; c++) {
|
||||
ASSERT_TRUE(server.SendData(c, &d[0], 60000u));
|
||||
}
|
||||
EXPECT_TRUE(server.HasClients()); // not yet: the stall clock is still running
|
||||
const uint64 t0 = NowMs();
|
||||
EXPECT_TRUE(WaitClients(server, 0u, 4000u));
|
||||
EXPECT_GE(NowMs() - t0, 800u); // evicted by the timeout, not at once
|
||||
EXPECT_EQ(1u, server.GetStallEvictions());
|
||||
close(slow);
|
||||
server.Stop();
|
||||
}
|
||||
|
||||
TEST(TCPSServerGTest, TestStallDisabled_KeepsClient) {
|
||||
TCPSServer server;
|
||||
ASSERT_TRUE(InitServer(server, 60000u, 16u, 4u, 0u, 8192u));
|
||||
ASSERT_TRUE(server.Start());
|
||||
int slow = Connect(server.GetPort(), 4096);
|
||||
ASSERT_GE(slow, 0);
|
||||
ASSERT_TRUE(WaitClients(server, 1u, 2000u));
|
||||
std::vector<uint8> d = Pattern(60000u, 1u);
|
||||
for (uint32 c = 1u; c <= 6u; c++) {
|
||||
ASSERT_TRUE(server.SendData(c, &d[0], 60000u));
|
||||
}
|
||||
Pump(server, 1500u);
|
||||
EXPECT_EQ(1u, server.GetClientCount());
|
||||
EXPECT_EQ(0u, server.GetStallEvictions());
|
||||
close(slow);
|
||||
server.Stop();
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,434 @@
|
||||
/**
|
||||
* @file TCPStreamerGTest.cpp
|
||||
* @brief GTests for the TCPStreamer / TCPStreamerClient DataSources.
|
||||
*
|
||||
* Each test builds a RealTimeApplication from a configuration string (the same
|
||||
* pattern as the UDPStreamer tests). No scheduler thread is started: the tests
|
||||
* write the DataSource memory and call Synchronise() themselves.
|
||||
*/
|
||||
|
||||
#define DLL_API
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "AdvancedErrorManagement.h"
|
||||
#include "ClassRegistryDatabase.h"
|
||||
#include "ConfigurationDatabase.h"
|
||||
#include "GAM.h"
|
||||
#include "MemoryOperationsHelper.h"
|
||||
#include "ObjectRegistryDatabase.h"
|
||||
#include "RealTimeApplication.h"
|
||||
#include "Sleep.h"
|
||||
#include "StandardParser.h"
|
||||
#include "TCPStreamer.h"
|
||||
#include "TCPStreamerClient.h"
|
||||
#include "TCPTestUtil.h"
|
||||
#include "UDPSProtocol.h"
|
||||
|
||||
using namespace MARTe;
|
||||
using namespace tcptest;
|
||||
|
||||
namespace {
|
||||
|
||||
/** Output-only GAM; its presence is what makes the streamer DataSource configure. */
|
||||
class TCPStreamerTestWriterGAM : public GAM {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
TCPStreamerTestWriterGAM() : GAM() {}
|
||||
virtual ~TCPStreamerTestWriterGAM() {}
|
||||
virtual bool Setup() { return true; }
|
||||
virtual bool Execute() { return true; }
|
||||
};
|
||||
CLASS_REGISTER(TCPStreamerTestWriterGAM, "1.0")
|
||||
|
||||
/** Copies its input to its output; makes the client DataSource configure. */
|
||||
class TCPStreamerTestReaderGAM : public GAM {
|
||||
public:
|
||||
CLASS_REGISTER_DECLARATION()
|
||||
TCPStreamerTestReaderGAM() : GAM() {}
|
||||
virtual ~TCPStreamerTestReaderGAM() {}
|
||||
virtual bool Setup() { return true; }
|
||||
virtual bool Execute() {
|
||||
void *in = GetInputSignalMemory(0u);
|
||||
void *out = GetOutputSignalMemory(0u);
|
||||
if ((in != NULL_PTR(void *)) && (out != NULL_PTR(void *))) {
|
||||
(void)MemoryOperationsHelper::Copy(out, in, sizeof(uint32));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
CLASS_REGISTER(TCPStreamerTestReaderGAM, "1.0")
|
||||
|
||||
ReferenceT<RealTimeApplication> LoadApplication(const std::string &config) {
|
||||
ConfigurationDatabase cdb;
|
||||
StreamString cfgStr = config.c_str();
|
||||
(void)cfgStr.Seek(0LLU);
|
||||
StandardParser parser(cfgStr, cdb);
|
||||
if (!parser.Parse()) {
|
||||
return ReferenceT<RealTimeApplication>();
|
||||
}
|
||||
ObjectRegistryDatabase *god = ObjectRegistryDatabase::Instance();
|
||||
god->Purge();
|
||||
if (!god->Initialise(cdb)) {
|
||||
return ReferenceT<RealTimeApplication>();
|
||||
}
|
||||
ReferenceT<RealTimeApplication> app = god->Find("Test");
|
||||
if (!app.IsValid() || !app->ConfigureApplication()) {
|
||||
return ReferenceT<RealTimeApplication>();
|
||||
}
|
||||
return app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Application with an optional streamer DS ("Streamer", fed by Writer) and an
|
||||
* optional client DS ("Client", read by Reader). @p streamerExtra / @p clientExtra
|
||||
* are spliced verbatim into the DataSource blocks.
|
||||
*/
|
||||
std::string BuildConfig(bool withStreamer, const std::string &streamerExtra,
|
||||
bool withClient, const std::string &clientExtra) {
|
||||
std::string cfg = "+Test = {\n Class = RealTimeApplication\n +Functions = {\n Class = ReferenceContainer\n";
|
||||
std::string functions;
|
||||
if (withStreamer) {
|
||||
cfg += " +Writer = { Class = TCPStreamerTestWriterGAM\n"
|
||||
" OutputSignals = { Counter = { DataSource = Streamer Type = uint32 } } }\n";
|
||||
functions += " Writer";
|
||||
}
|
||||
if (withClient) {
|
||||
cfg += " +Reader = { Class = TCPStreamerTestReaderGAM\n"
|
||||
" InputSignals = { Counter = { DataSource = Client Type = uint32 } }\n"
|
||||
" OutputSignals = { Counter = { DataSource = DDB Type = uint32 } } }\n";
|
||||
functions += " Reader";
|
||||
}
|
||||
cfg += " }\n +Data = {\n Class = ReferenceContainer\n";
|
||||
if (withClient) {
|
||||
/* A GAMDataSource with no signals fails to allocate, so only add it when used. */
|
||||
cfg += " DefaultDataSource = DDB\n +DDB = { Class = GAMDataSource }\n";
|
||||
}
|
||||
cfg += " +Timings = { Class = TimingDataSource }\n";
|
||||
if (withStreamer) {
|
||||
cfg += " +Streamer = { Class = TCPStreamer\n" + streamerExtra +
|
||||
"\n Signals = { Counter = { Type = uint32 } } }\n";
|
||||
}
|
||||
if (withClient) {
|
||||
cfg += " +Client = { Class = TCPStreamerClient\n" + clientExtra +
|
||||
"\n Signals = { Counter = { Type = uint32 } } }\n";
|
||||
}
|
||||
cfg += " }\n +States = {\n Class = ReferenceContainer\n +State1 = { Class = RealTimeState\n"
|
||||
" +Threads = { Class = ReferenceContainer\n"
|
||||
" +Thread1 = { Class = RealTimeThread Functions = {" + functions + " } } } } }\n"
|
||||
" +Scheduler = { Class = GAMScheduler TimingDataSource = Timings }\n}\n";
|
||||
return cfg;
|
||||
}
|
||||
|
||||
std::string PortStr(uint16 port) {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%u", static_cast<unsigned>(port));
|
||||
return buf;
|
||||
}
|
||||
|
||||
/** Closes the application on scope exit so a failing ASSERT cannot leak threads or ports. */
|
||||
struct AppGuard {
|
||||
~AppGuard() { ObjectRegistryDatabase::Instance()->Purge(); }
|
||||
};
|
||||
|
||||
void SetCounter(ReferenceT<TCPStreamer> &ds, uint32 v) {
|
||||
void *mem = NULL_PTR(void *);
|
||||
ASSERT_TRUE(ds->GetSignalMemoryBuffer(0u, 0u, mem));
|
||||
memcpy(mem, &v, sizeof(v));
|
||||
}
|
||||
|
||||
/** CONFIG payload for the single uint32 "Counter" signal, Strict publishing. */
|
||||
std::vector<uint8> MakeConfigPayload() {
|
||||
std::vector<uint8> p(4u + UDPS_SIGNAL_DESC_SIZE + 1u, 0u);
|
||||
const uint32 numSigs = 1u;
|
||||
memcpy(&p[0], &numSigs, 4u);
|
||||
UDPSSignalDescriptor desc;
|
||||
memset(&desc, 0, sizeof(desc));
|
||||
strncpy(desc.name, "Counter", UDPS_MAX_SIGNAL_NAME - 1u);
|
||||
desc.typeCode = UDPS_TYPECODE_UINT32;
|
||||
desc.quantType = UDPS_QUANT_NONE;
|
||||
desc.numDimensions = 0u;
|
||||
desc.numRows = 1u;
|
||||
desc.numCols = 1u;
|
||||
desc.rangeMax = 1.0;
|
||||
desc.timeMode = UDPS_TIMEMODE_PACKET;
|
||||
desc.timeSignalIdx = UDPS_NO_TIME_SIGNAL;
|
||||
memcpy(&p[4], &desc, UDPS_SIGNAL_DESC_SIZE);
|
||||
p[4u + UDPS_SIGNAL_DESC_SIZE] = UDPS_PUBLISH_STRICT;
|
||||
return p;
|
||||
}
|
||||
|
||||
/** DATA payload: 8-byte timestamp then the uint32 value. */
|
||||
std::vector<uint8> MakeDataPayload(uint32 value) {
|
||||
std::vector<uint8> p(12u, 0u);
|
||||
memcpy(&p[8], &value, 4u);
|
||||
return p;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TCPStreamer */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
TEST(TCPStreamerGTest, ClassesAreRegistered) {
|
||||
ClassRegistryDatabase *db = ClassRegistryDatabase::Instance();
|
||||
EXPECT_TRUE(db->Find("TCPStreamer") != NULL_PTR(const ClassRegistryItem *));
|
||||
EXPECT_TRUE(db->Find("TCPStreamerClient") != NULL_PTR(const ClassRegistryItem *));
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerDefaults) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(true, "", false, ""));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamer> ds = ObjectRegistryDatabase::Instance()->Find("Test.Data.Streamer");
|
||||
ASSERT_TRUE(ds.IsValid());
|
||||
EXPECT_EQ(44500u, ds->GetPort());
|
||||
EXPECT_EQ(60000u, ds->GetMaxPayloadSize());
|
||||
EXPECT_EQ(0u, ds->GetClientCount());
|
||||
EXPECT_EQ(0u, ds->GetClientDrops());
|
||||
EXPECT_FALSE(ds->IsClientConnected());
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerRejectsUdpOnlyKeys) {
|
||||
const char *const keys[] = {
|
||||
"MulticastGroup = \"239.0.0.1\"", "Interface = \"127.0.0.1\"",
|
||||
"DataPort = 44501", "ClientTimeout = 5"
|
||||
};
|
||||
for (size_t i = 0u; i < sizeof(keys) / sizeof(keys[0]); i++) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app =
|
||||
LoadApplication(BuildConfig(true, std::string("Port = 44820\n") + keys[i], false, ""));
|
||||
EXPECT_FALSE(app.IsValid()) << keys[i];
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerAcceptsAndValidatesTcpKeys) {
|
||||
{
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(
|
||||
true, "Port = 44821 MaxClients = 4 ClientQueueDepth = 2 ClientStallTimeout = 0 SendBufferSize = 65536",
|
||||
false, ""));
|
||||
EXPECT_TRUE(app.IsValid());
|
||||
}
|
||||
const char *const bad[] = { "MaxClients = 0", "ClientQueueDepth = 0", "MaxPayloadSize = 4" };
|
||||
for (size_t i = 0u; i < sizeof(bad) / sizeof(bad[0]); i++) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app =
|
||||
LoadApplication(BuildConfig(true, std::string("Port = 44822 ") + bad[i], false, ""));
|
||||
EXPECT_FALSE(app.IsValid()) << bad[i];
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerDeliversConfigThenData) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(true, "Port = 44823", false, ""));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamer> ds = ObjectRegistryDatabase::Instance()->Find("Test.Data.Streamer");
|
||||
ASSERT_TRUE(ds.IsValid());
|
||||
ASSERT_TRUE(app->PrepareNextState("State1") == ErrorManagement::NoError);
|
||||
EXPECT_EQ(44823u, ds->GetBoundPort());
|
||||
|
||||
int fd = Connect(44823u);
|
||||
ASSERT_GE(fd, 0);
|
||||
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 3000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type);
|
||||
EXPECT_EQ(1u, f.totalFragments);
|
||||
ASSERT_GE(f.payload.size(), MakeConfigPayload().size());
|
||||
uint32 numSigs = 0u;
|
||||
memcpy(&numSigs, &f.payload[0], 4u);
|
||||
EXPECT_EQ(1u, numSigs);
|
||||
UDPSSignalDescriptor desc;
|
||||
memcpy(&desc, &f.payload[4], UDPS_SIGNAL_DESC_SIZE);
|
||||
EXPECT_STREQ("Counter", desc.name);
|
||||
EXPECT_EQ(UDPS_TYPECODE_UINT32, desc.typeCode);
|
||||
|
||||
/* The client count updates on the sender thread's next service pass. */
|
||||
for (int i = 0; (i < 100) && (ds->GetClientCount() == 0u); i++) {
|
||||
Sleep::MSec(10u);
|
||||
}
|
||||
EXPECT_EQ(1u, ds->GetClientCount());
|
||||
EXPECT_TRUE(ds->IsClientConnected());
|
||||
|
||||
for (uint32 v = 100u; v < 105u; v++) {
|
||||
SetCounter(ds, v);
|
||||
ASSERT_TRUE(ds->Synchronise());
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 3000));
|
||||
EXPECT_EQ(UDPS_TYPE_DATA, f.type);
|
||||
EXPECT_EQ(1u, f.totalFragments);
|
||||
ASSERT_EQ(12u, f.payload.size());
|
||||
uint32 got = 0u;
|
||||
memcpy(&got, &f.payload[8], 4u);
|
||||
EXPECT_EQ(v, got);
|
||||
Sleep::MSec(5u); /* one publication per sender wake-up */
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerSurvivesClientDisconnectAndReconnect) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(true, "Port = 44824", false, ""));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamer> ds = ObjectRegistryDatabase::Instance()->Find("Test.Data.Streamer");
|
||||
ASSERT_TRUE(ds.IsValid());
|
||||
ASSERT_TRUE(app->PrepareNextState("State1") == ErrorManagement::NoError);
|
||||
|
||||
for (int round = 0; round < 2; round++) {
|
||||
int fd = Connect(44824u);
|
||||
ASSERT_GE(fd, 0);
|
||||
Frame f;
|
||||
ASSERT_TRUE(ReadFrame(fd, f, 3000));
|
||||
EXPECT_EQ(UDPS_TYPE_CONFIG, f.type) << "round " << round;
|
||||
close(fd);
|
||||
for (int i = 0; (i < 200) && (ds->GetClientCount() != 0u); i++) {
|
||||
SetCounter(ds, 1u);
|
||||
(void)ds->Synchronise();
|
||||
Sleep::MSec(5u);
|
||||
}
|
||||
EXPECT_EQ(0u, ds->GetClientCount());
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* TCPStreamerClient */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
TEST(TCPStreamerGTest, ClientDefaultsAndKeys) {
|
||||
{
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(false, "", true, ""));
|
||||
EXPECT_TRUE(app.IsValid());
|
||||
}
|
||||
{
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(
|
||||
false, "", true,
|
||||
"ServerAddress = \"127.0.0.1\" Port = 44825 SilenceTimeout = 1.5 ReconnectDelay = 0.5"));
|
||||
EXPECT_TRUE(app.IsValid());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, ClientRejectsUdpOnlyKeys) {
|
||||
const char *const keys[] = {
|
||||
"MulticastGroup = \"239.0.0.1\"", "DataPort = 44501",
|
||||
"Interface = \"127.0.0.1\"", "KeepAliveInterval = 2"
|
||||
};
|
||||
for (size_t i = 0u; i < sizeof(keys) / sizeof(keys[0]); i++) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app =
|
||||
LoadApplication(BuildConfig(false, "", true, std::string("Port = 44826\n") + keys[i]));
|
||||
EXPECT_FALSE(app.IsValid()) << keys[i];
|
||||
}
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, ClientReceivesFromRawServer) {
|
||||
AppGuard guard;
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
|
||||
std::string extra = "Port = " + PortStr(port) + " ReconnectDelay = 0.1";
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(false, "", true, extra));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamerClient> ds = ObjectRegistryDatabase::Instance()->Find("Test.Data.Client");
|
||||
ASSERT_TRUE(ds.IsValid());
|
||||
ASSERT_TRUE(app->PrepareNextState("State1") == ErrorManagement::NoError);
|
||||
|
||||
int cfd = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(cfd, 0);
|
||||
ASSERT_TRUE(SendAll(cfd, &MakeFrame(UDPS_TYPE_CONFIG, 0u, MakeConfigPayload())[0],
|
||||
UDPS_HEADER_SIZE + 4u + UDPS_SIGNAL_DESC_SIZE + 1u));
|
||||
|
||||
void *mem = NULL_PTR(void *);
|
||||
ASSERT_TRUE(ds->GetSignalMemoryBuffer(0u, 0u, mem));
|
||||
|
||||
/* Synchronise() only sees a Post that lands while it waits, so keep feeding. */
|
||||
uint32 got = 0u;
|
||||
for (uint32 n = 0u; (n < 300u) && (got != 4242u); n++) {
|
||||
std::vector<uint8> fr = MakeFrame(UDPS_TYPE_DATA, n + 1u, MakeDataPayload(4242u));
|
||||
ASSERT_TRUE(SendAll(cfd, &fr[0], fr.size()));
|
||||
(void)ds->Synchronise();
|
||||
memcpy(&got, mem, sizeof(got));
|
||||
}
|
||||
EXPECT_EQ(4242u, got);
|
||||
EXPECT_TRUE(ds->IsConnected());
|
||||
EXPECT_EQ(1u, ds->GetConnectionCount());
|
||||
EXPECT_EQ(0u, ds->GetProtocolErrors());
|
||||
|
||||
/* Server goes away: the client must notice and reconnect by itself. */
|
||||
close(cfd);
|
||||
int cfd2 = AcceptOne(lfd, 5000);
|
||||
EXPECT_GE(cfd2, 0);
|
||||
EXPECT_EQ(2u, ds->GetConnectionCount());
|
||||
if (cfd2 >= 0) {
|
||||
close(cfd2);
|
||||
}
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
TEST(TCPStreamerGTest, ClientCountsProtocolErrorsAndReconnects) {
|
||||
AppGuard guard;
|
||||
uint16 port = 0u;
|
||||
int lfd = Listen(port);
|
||||
ASSERT_GE(lfd, 0);
|
||||
|
||||
std::string extra = "Port = " + PortStr(port) + " ReconnectDelay = 0.1";
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(false, "", true, extra));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamerClient> ds = ObjectRegistryDatabase::Instance()->Find("Test.Data.Client");
|
||||
ASSERT_TRUE(ds.IsValid());
|
||||
ASSERT_TRUE(app->PrepareNextState("State1") == ErrorManagement::NoError);
|
||||
|
||||
int cfd = AcceptOne(lfd, 3000);
|
||||
ASSERT_GE(cfd, 0);
|
||||
const uint8 garbage[UDPS_HEADER_SIZE] = { 0xDE, 0xAD, 0xBE, 0xEF };
|
||||
ASSERT_TRUE(SendAll(cfd, garbage, sizeof(garbage)));
|
||||
EXPECT_TRUE(PeerClosed(cfd, 3000));
|
||||
close(cfd);
|
||||
|
||||
int cfd2 = AcceptOne(lfd, 5000);
|
||||
EXPECT_GE(cfd2, 0);
|
||||
EXPECT_EQ(1u, ds->GetProtocolErrors());
|
||||
if (cfd2 >= 0) {
|
||||
close(cfd2);
|
||||
}
|
||||
close(lfd);
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Streamer -> Client */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
TEST(TCPStreamerGTest, StreamerToClientRoundTrip) {
|
||||
AppGuard guard;
|
||||
ReferenceT<RealTimeApplication> app = LoadApplication(BuildConfig(
|
||||
true, "Port = 44827", true, "Port = 44827 ReconnectDelay = 0.1"));
|
||||
ASSERT_TRUE(app.IsValid());
|
||||
ReferenceT<TCPStreamer> streamer = ObjectRegistryDatabase::Instance()->Find("Test.Data.Streamer");
|
||||
ReferenceT<TCPStreamerClient> client = ObjectRegistryDatabase::Instance()->Find("Test.Data.Client");
|
||||
ASSERT_TRUE(streamer.IsValid());
|
||||
ASSERT_TRUE(client.IsValid());
|
||||
ASSERT_TRUE(app->PrepareNextState("State1") == ErrorManagement::NoError);
|
||||
|
||||
void *mem = NULL_PTR(void *);
|
||||
ASSERT_TRUE(client->GetSignalMemoryBuffer(0u, 0u, mem));
|
||||
|
||||
uint32 got = 0u;
|
||||
for (uint32 n = 0u; (n < 600u) && (got != 777u); n++) {
|
||||
SetCounter(streamer, 777u);
|
||||
ASSERT_TRUE(streamer->Synchronise());
|
||||
(void)client->Synchronise();
|
||||
memcpy(&got, mem, sizeof(got));
|
||||
}
|
||||
EXPECT_EQ(777u, got);
|
||||
EXPECT_TRUE(client->IsConnected());
|
||||
EXPECT_EQ(1u, streamer->GetClientCount());
|
||||
EXPECT_EQ(0u, client->GetProtocolErrors());
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
#ifndef TCP_TEST_UTIL_H_
|
||||
#define TCP_TEST_UTIL_H_
|
||||
|
||||
/**
|
||||
* @file TCPTestUtil.h
|
||||
* @brief Raw-socket helpers shared by the TCPS* GTests (C++98, STL allowed).
|
||||
*/
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <errno.h>
|
||||
#include <netinet/in.h>
|
||||
#include <poll.h>
|
||||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "CompilerTypes.h"
|
||||
#include "UDPSProtocol.h"
|
||||
|
||||
namespace tcptest {
|
||||
|
||||
using namespace MARTe;
|
||||
|
||||
inline uint64 NowMs() {
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
return static_cast<uint64>(ts.tv_sec) * 1000u + static_cast<uint64>(ts.tv_nsec) / 1000000u;
|
||||
}
|
||||
|
||||
/** Connect a blocking socket to 127.0.0.1:port. @return fd, or -1. */
|
||||
inline int Connect(uint16 port, int rcvBuf = 0) {
|
||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if (fd < 0) {
|
||||
return -1;
|
||||
}
|
||||
if (rcvBuf > 0) {
|
||||
(void)setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvBuf, sizeof(rcvBuf));
|
||||
}
|
||||
struct sockaddr_in addr;
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(port);
|
||||
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
if (connect(fd, reinterpret_cast<struct sockaddr *>(&addr), sizeof(addr)) != 0) {
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
/** Read exactly @p n bytes within @p timeoutMs. */
|
||||
inline bool ReadExact(int fd, uint8 *dst, size_t n, int timeoutMs) {
|
||||
const uint64 deadline = NowMs() + static_cast<uint64>(timeoutMs);
|
||||
size_t got = 0u;
|
||||
while (got < n) {
|
||||
int64 left = static_cast<int64>(deadline) - static_cast<int64>(NowMs());
|
||||
if (left < 0) {
|
||||
return false;
|
||||
}
|
||||
struct pollfd p;
|
||||
p.fd = fd;
|
||||
p.events = POLLIN;
|
||||
p.revents = 0;
|
||||
int r = poll(&p, 1, static_cast<int>(left));
|
||||
if (r <= 0) {
|
||||
return false;
|
||||
}
|
||||
ssize_t k = recv(fd, dst + got, n - got, 0);
|
||||
if (k <= 0) {
|
||||
return false;
|
||||
}
|
||||
got += static_cast<size_t>(k);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
struct Frame {
|
||||
uint8 type;
|
||||
uint32 counter;
|
||||
uint16 fragmentIdx;
|
||||
uint16 totalFragments;
|
||||
std::vector<uint8> payload;
|
||||
};
|
||||
|
||||
/** Read one UDPS frame. @return false on timeout, EOF or a bad header. */
|
||||
inline bool ReadFrame(int fd, Frame &f, int timeoutMs) {
|
||||
uint8 hb[UDPS_HEADER_SIZE];
|
||||
if (!ReadExact(fd, hb, UDPS_HEADER_SIZE, timeoutMs)) {
|
||||
return false;
|
||||
}
|
||||
UDPSPacketHeader h;
|
||||
memcpy(&h, hb, UDPS_HEADER_SIZE);
|
||||
if (h.magic != UDPS_MAGIC) {
|
||||
return false;
|
||||
}
|
||||
f.type = h.type;
|
||||
f.counter = h.counter;
|
||||
f.fragmentIdx = h.fragmentIdx;
|
||||
f.totalFragments = h.totalFragments;
|
||||
f.payload.resize(h.payloadBytes);
|
||||
if (h.payloadBytes > 0u) {
|
||||
return ReadExact(fd, &f.payload[0], h.payloadBytes, timeoutMs);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** @return true if the peer closed the connection within @p timeoutMs. */
|
||||
inline bool PeerClosed(int fd, int timeoutMs) {
|
||||
struct pollfd p;
|
||||
p.fd = fd;
|
||||
p.events = POLLIN;
|
||||
p.revents = 0;
|
||||
if (poll(&p, 1, timeoutMs) <= 0) {
|
||||
return false;
|
||||
}
|
||||
uint8 b;
|
||||
ssize_t k = recv(fd, &b, 1, MSG_DONTWAIT);
|
||||
return (k == 0) || ((k < 0) && (errno != EAGAIN));
|
||||
}
|
||||
|
||||
/** Deterministic payload pattern. */
|
||||
inline std::vector<uint8> Pattern(uint32 n, uint8 seed) {
|
||||
std::vector<uint8> v(n);
|
||||
for (uint32 i = 0u; i < n; i++) {
|
||||
v[i] = static_cast<uint8>(seed + i);
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
/** Listen on 127.0.0.1:@p port (0 = ephemeral). @return fd, or -1; @p port is updated. */
|
||||
inline int Listen(uint16 &port) {
|
||||
int fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if (fd < 0) {
|
||||
return -1;
|
||||
}
|
||||
int one = 1;
|
||||
(void)setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
|
||||
struct sockaddr_in addr;
|
||||
memset(&addr, 0, sizeof(addr));
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(port);
|
||||
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
socklen_t len = sizeof(addr);
|
||||
if ((bind(fd, reinterpret_cast<struct sockaddr *>(&addr), sizeof(addr)) != 0) ||
|
||||
(listen(fd, 8) != 0) ||
|
||||
(getsockname(fd, reinterpret_cast<struct sockaddr *>(&addr), &len) != 0)) {
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
port = ntohs(addr.sin_port);
|
||||
return fd;
|
||||
}
|
||||
|
||||
/** Accept one connection within @p timeoutMs. @return fd, or -1. */
|
||||
inline int AcceptOne(int listenFd, int timeoutMs) {
|
||||
struct pollfd p;
|
||||
p.fd = listenFd;
|
||||
p.events = POLLIN;
|
||||
p.revents = 0;
|
||||
if (poll(&p, 1, timeoutMs) <= 0) {
|
||||
return -1;
|
||||
}
|
||||
return accept(listenFd, NULL, NULL);
|
||||
}
|
||||
|
||||
inline bool SendAll(int fd, const uint8 *data, size_t n) {
|
||||
size_t sent = 0u;
|
||||
while (sent < n) {
|
||||
ssize_t k = send(fd, data + sent, n - sent, MSG_NOSIGNAL);
|
||||
if (k <= 0) {
|
||||
return false;
|
||||
}
|
||||
sent += static_cast<size_t>(k);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Build a complete UDPS frame (header + payload). */
|
||||
inline std::vector<uint8> MakeFrame(uint8 type, uint32 counter, const std::vector<uint8> &payload,
|
||||
uint16 totalFragments = 1u, uint16 fragmentIdx = 0u) {
|
||||
std::vector<uint8> f(UDPS_HEADER_SIZE + payload.size());
|
||||
UDPSBuildHeader(&f[0], type, counter, fragmentIdx, totalFragments, static_cast<uint32>(payload.size()));
|
||||
if (!payload.empty()) {
|
||||
memcpy(&f[UDPS_HEADER_SIZE], &payload[0], payload.size());
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
} // namespace tcptest
|
||||
|
||||
#endif // TCP_TEST_UTIL_H_
|
||||
@@ -195,6 +195,704 @@
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h
|
||||
../../Build/x86-linux//GTest/TCPSClientGTest.o: TCPSClientGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h TCPTestUtil.h
|
||||
../../Build/x86-linux//GTest/TCPSServerGTest.o: TCPSServerGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
TCPTestUtil.h
|
||||
../../Build/x86-linux//GTest/TCPStreamerGTest.o: TCPStreamerGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSMETHODREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodInterfaceMapper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCaller.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCallerT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMSchedulerI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/TimingDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryArea.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/Message.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilterPool.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplicationConfigurationBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/RegisteredMethodsMessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/StandardParser.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyTypeCreator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/LexicalAnalyzer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/GrammarInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/Token.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TokenInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/RuntimeEvaluator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticStack.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/VariableInformation.h \
|
||||
../../Source/Components/DataSources/TCPStreamer/TCPStreamer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPSServiceStream.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/DataSources/UDPStreamer/UDPStreamer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryDataSourceI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Source/Components/DataSources/TCPStreamerClient/TCPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
../../Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h TCPTestUtil.h
|
||||
../../Build/x86-linux//GTest/TCPStreamServiceGTest.o: TCPStreamServiceGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSMETHODREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodInterfaceMapper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCaller.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCallerT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMSchedulerI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/TimingDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryArea.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/Message.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilterPool.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplicationConfigurationBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/RegisteredMethodsMessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/StandardParser.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyTypeCreator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/LexicalAnalyzer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/GrammarInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/Token.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TokenInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/RuntimeEvaluator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticStack.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/VariableInformation.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPSServiceStream.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
../../Source/Components/DataSources/TCPStreamer/TCPStreamer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/DataSources/UDPStreamer/UDPStreamer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryDataSourceI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Source/Components/DataSources/TCPStreamerClient/TCPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
../../Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h TCPTestUtil.h
|
||||
../../Build/x86-linux//GTest/UDPSClientGTest.o: UDPSClientGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
@@ -342,4 +1040,6 @@
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Common/UDP/UDPSProtocol.h
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h
|
||||
@@ -195,6 +195,704 @@ MainGTest.o: MainGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h
|
||||
TCPSClientGTest.o: TCPSClientGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h TCPTestUtil.h
|
||||
TCPSServerGTest.o: TCPSServerGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
TCPTestUtil.h
|
||||
TCPStreamerGTest.o: TCPStreamerGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSMETHODREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodInterfaceMapper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCaller.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCallerT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMSchedulerI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/TimingDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryArea.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/Message.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilterPool.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplicationConfigurationBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/RegisteredMethodsMessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/StandardParser.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyTypeCreator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/LexicalAnalyzer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/GrammarInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/Token.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TokenInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/RuntimeEvaluator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticStack.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/VariableInformation.h \
|
||||
../../Source/Components/DataSources/TCPStreamer/TCPStreamer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPSServiceStream.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/DataSources/UDPStreamer/UDPStreamer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryDataSourceI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Source/Components/DataSources/TCPStreamerClient/TCPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
../../Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h TCPTestUtil.h
|
||||
TCPStreamServiceGTest.o: TCPStreamServiceGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-port.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-message.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-string.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-death-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-param-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-printers.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_prod.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-test-part.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest-typed-test.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest_pred_impl.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CompilerTypes.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorInformation.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ErrorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/HighResolutionTimerA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/HighResolutionTimerCalibrator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeStamp.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TimeoutType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassProperties.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Atomic.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ErrorManagement.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/CString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Introspection.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BasicType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/FractionalInteger.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitRange.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitBoolean.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Iterator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListable.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SortFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/SearchFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Matrix.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/IOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/CharBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StreamI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyObject.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/AnyType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/HashFunction.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/LinkedListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Object.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/Reference.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/UnorderedMap.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HeapManager.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StringHelper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/StructuredDataI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TypeConversion.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/Vector.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamString.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/DataSourceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/StatefulI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/ExecutableI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ObjectRegistryDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ReferenceT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/CLASSMETHODREGISTER.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodInterfaceMapper.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCaller.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L2Objects/ClassMethodCallerT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMSchedulerI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAM.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ProcessorType.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/BitSet.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/TimingDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/GAMDataSource.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/MemoryArea.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/Message.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilterPool.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/MessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplicationConfigurationBuilder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/RealTimeApplication.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Messages/RegisteredMethodsMessageFilter.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/Sleep.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/StandardParser.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/AnyTypeCreator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticListHolder.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/LexicalAnalyzer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L3Streams/GrammarInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/Token.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/TokenInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/ParserI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/RuntimeEvaluator.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L0Types/IteratorT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticStack.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/StaticList.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L4Configuration/VariableInformation.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPSServiceStream.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/Threads.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/ThreadsB.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/ExecutionInfo.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/SingleThreadService.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/TCPStreamService/TCPStreamService.h \
|
||||
../../Source/Components/DataSources/TCPStreamer/TCPStreamer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSServer.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/DataSources/UDPStreamer/UDPStreamer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L1Portability/EventSem.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L5GAMs/MemoryDataSourceI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicTCPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetHostCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/InternetMulticastCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HandleI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/Environment/Linux/SocketCore.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/BasicUDPSocket.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/FileSystem/L1Portability/InternetHost.h \
|
||||
../../Source/Components/DataSources/TCPStreamerClient/TCPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/TCPSClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \
|
||||
../../Source/Components/DataSources/UDPStreamerClient/UDPStreamerClient.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSClient.h TCPTestUtil.h
|
||||
UDPSClientGTest.o: UDPSClientGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/gtest.h \
|
||||
/home/martino/workspace/MARTe2/Lib/gtest-1.7.0/include/gtest/internal/gtest-internal.h \
|
||||
@@ -342,4 +1040,6 @@ UDPSClientGTest.o: UDPSClientGTest.cpp \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \
|
||||
/home/martino/workspace/MARTe2/Source/Core/Scheduler/L3Services/EmbeddedThread.h \
|
||||
../../Common/UDP/UDPSProtocol.h
|
||||
../../Common/UDP/UDPSProtocol.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSTransportI.h \
|
||||
../../Source/Components/Interfaces/UDPStream/UDPSServer.h
|
||||
Reference in new issue
Block a user