Arcane
v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
HyodaTcp.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*****************************************************************************
8
* HyodaTcp.h (C) 2000-2012 *
9
* *
10
* Header du debugger hybrid. *
11
*****************************************************************************/
12
#ifndef ARCANE_HYODA_TCP_H
13
#define ARCANE_HYODA_TCP_H
14
15
#include <netdb.h>
16
#include <poll.h>
17
18
/*---------------------------------------------------------------------------*/
19
/*---------------------------------------------------------------------------*/
20
21
ARCANE_BEGIN_NAMESPACE
22
23
/*---------------------------------------------------------------------------*/
24
/*---------------------------------------------------------------------------*/
25
26
class
Hyoda;
27
28
/******************************************************************************
29
* Hyoda CLASS
30
*****************************************************************************/
31
class
HyodaTcp:
public
TraceAccessor
{
32
public
:
33
HyodaTcp(
Hyoda
*,
ISubDomain
*,
ITraceMng
*,
Integer
,
Integer
,
Integer
,
bool
=
false
);
34
~HyodaTcp();
35
public
:
36
void
send(
const
void
*,
size_t
);
37
void
recvPov(
double
*);
38
void
recvPov(
double
*,
int
);
39
void
waitForAcknowledgment(
void
);
40
void
sendAcknowledgmentPacket(
void
);
41
void
recvPacket(
char
*pov,
int
maxSize,
int
ms_timeout);
42
public
:
43
void
disconect(
void
);
44
Integer
payload(
void
){
return
m_payload;}
45
void
handshake(
void
);
46
void
getVariableCollectionAndSendItToHost(
void
);
47
private
:
48
ssize_t wData(
int
sockd,
const
void
*vptr,
size_t
n);
49
ssize_t rData(
int
sockd,
void
*vptr,
size_t
maxlen);
50
int
checkTcpError(
int
error
);
51
private
:
52
Hyoda
*hyoda;
53
ISubDomain
*m_sub_domain;
54
size_t
m_payload;
55
int
m_sockfd;
56
struct
sockaddr_in *m_servaddr;
57
nfds_t m_nfds;
58
struct
pollfd *m_fds;
59
};
60
61
62
/*---------------------------------------------------------------------------*/
63
/*---------------------------------------------------------------------------*/
64
65
ARCANE_END_NAMESPACE
66
67
/*---------------------------------------------------------------------------*/
68
/*---------------------------------------------------------------------------*/
69
70
#endif
// ARCANE_HYODA_TCP_H
Arcane::Hyoda
Definition
HyodaArc.h:61
Arcane::ISubDomain
Interface du gestionnaire d'un sous-domaine.
Definition
ISubDomain.h:74
Arcane::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
Arcane::TraceAccessor::TraceAccessor
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Definition
TraceAccessor.cc:27
Arcane::TraceAccessor::error
TraceMessage error() const
Flot pour un message d'erreur.
Definition
TraceAccessor.cc:201
Arcane::Integer
Int32 Integer
Type représentant un entier.
Definition
ArccoreGlobal.h:240
arcane
hyoda
HyodaTcp.h
Généré le Lundi 31 Mars 2025 02:53:04 pour Arcane par
1.13.2