Ixian SDK
DLT.RemoteEndpoint Class Reference
Inheritance diagram for DLT.RemoteEndpoint:
DLT.NetworkClient

Public Member Functions

void start (Socket socket=null)
 
void stop ()
 
virtual void disconnect ()
 
void sendData (ProtocolMessageCode code, byte[] data, byte[] helper_data=null)
 
int getQueuedMessageCount ()
 
bool isConnected ()
 
string getFullAddress (bool useIncomingPorts=false)
 
void setLegacy (bool legacy)
 
bool isLegacy ()
 
bool attachEvent (NetworkEvents.Type type, byte[] address)
 
bool detachEvent (NetworkEvents.Type type, byte[] address)
 
bool isSubscribedToEvent (NetworkEvents.Type type, byte[] address)
 
long calculateTimeDifference ()
 

Public Attributes

string fullAddress = "127.0.0.1:10000"
 
string address = "127.0.0.1"
 
int incomingPort = Config.serverPort
 
long timeDifference = 0
 
bool timeSyncComplete = false
 
bool helloReceived = false
 
ulong blockHeight = 0
 
bool fullyStopped = false
 
IPEndPoint remoteIP
 
Socket clientSocket
 
RemoteEndpointState state
 
Presence presence = null
 
PresenceAddress presenceAddress = null
 
byte [] serverWalletAddress = null
 
byte [] serverPubKey = null
 
byte [] challenge = null
 

Protected Member Functions

void prepareSocket (Socket socket)
 
virtual void recvLoop ()
 
void sendTimeSyncMessages ()
 
void sendLoop ()
 
void parseLoop ()
 
void parseDataInternal (byte[] data, RemoteEndpoint endpoint)
 
void sendDataInternal (ProtocolMessageCode code, byte[] data, byte[] checksum)
 
void readTimeSyncData ()
 
byte [] readSocketData ()
 

Protected Attributes

long lastDataReceivedTime = 0
 
long lastDataSentTime = 0
 
Thread recvThread = null
 
Thread sendThread = null
 
Thread parseThread = null
 
bool running = false
 
List< TimeSyncDatatimeSyncs = new List<TimeSyncData>()
 
bool enableSendTimeSyncMessages = true
 

Detailed Description

Definition at line 20 of file NetworkRemoteEndpoint.cs.

Member Function Documentation

◆ attachEvent()

bool DLT.RemoteEndpoint.attachEvent ( NetworkEvents.Type  type,
byte []  address 
)

Definition at line 906 of file NetworkRemoteEndpoint.cs.

◆ calculateTimeDifference()

long DLT.RemoteEndpoint.calculateTimeDifference ( )

Definition at line 975 of file NetworkRemoteEndpoint.cs.

◆ detachEvent()

bool DLT.RemoteEndpoint.detachEvent ( NetworkEvents.Type  type,
byte []  address 
)

Definition at line 929 of file NetworkRemoteEndpoint.cs.

◆ disconnect()

virtual void DLT.RemoteEndpoint.disconnect ( )
virtual

Reimplemented in DLT.NetworkClient.

Definition at line 315 of file NetworkRemoteEndpoint.cs.

◆ getFullAddress()

string DLT.RemoteEndpoint.getFullAddress ( bool  useIncomingPorts = false)

Definition at line 688 of file NetworkRemoteEndpoint.cs.

◆ getQueuedMessageCount()

int DLT.RemoteEndpoint.getQueuedMessageCount ( )

Definition at line 656 of file NetworkRemoteEndpoint.cs.

◆ isConnected()

bool DLT.RemoteEndpoint.isConnected ( )

Definition at line 670 of file NetworkRemoteEndpoint.cs.

◆ isLegacy()

bool DLT.RemoteEndpoint.isLegacy ( )

Definition at line 899 of file NetworkRemoteEndpoint.cs.

◆ isSubscribedToEvent()

bool DLT.RemoteEndpoint.isSubscribedToEvent ( NetworkEvents.Type  type,
byte []  address 
)

Definition at line 948 of file NetworkRemoteEndpoint.cs.

◆ parseDataInternal()

void DLT.RemoteEndpoint.parseDataInternal ( byte []  data,
RemoteEndpoint  endpoint 
)
protected

Definition at line 527 of file NetworkRemoteEndpoint.cs.

◆ parseLoop()

void DLT.RemoteEndpoint.parseLoop ( )
protected

Definition at line 481 of file NetworkRemoteEndpoint.cs.

◆ prepareSocket()

void DLT.RemoteEndpoint.prepareSocket ( Socket  socket)
protected

Definition at line 82 of file NetworkRemoteEndpoint.cs.

◆ readSocketData()

byte [] DLT.RemoteEndpoint.readSocketData ( )
protected

Definition at line 774 of file NetworkRemoteEndpoint.cs.

◆ readTimeSyncData()

void DLT.RemoteEndpoint.readTimeSyncData ( )
protected

Definition at line 740 of file NetworkRemoteEndpoint.cs.

◆ recvLoop()

virtual void DLT.RemoteEndpoint.recvLoop ( )
protectedvirtual

Reimplemented in DLT.NetworkClient.

Definition at line 245 of file NetworkRemoteEndpoint.cs.

◆ sendData()

void DLT.RemoteEndpoint.sendData ( ProtocolMessageCode  code,
byte []  data,
byte []  helper_data = null 
)

Definition at line 618 of file NetworkRemoteEndpoint.cs.

◆ sendDataInternal()

void DLT.RemoteEndpoint.sendDataInternal ( ProtocolMessageCode  code,
byte []  data,
byte []  checksum 
)
protected

Definition at line 541 of file NetworkRemoteEndpoint.cs.

◆ sendLoop()

void DLT.RemoteEndpoint.sendLoop ( )
protected

Definition at line 360 of file NetworkRemoteEndpoint.cs.

◆ sendTimeSyncMessages()

void DLT.RemoteEndpoint.sendTimeSyncMessages ( )
protected

Definition at line 333 of file NetworkRemoteEndpoint.cs.

◆ setLegacy()

void DLT.RemoteEndpoint.setLegacy ( bool  legacy)

Definition at line 893 of file NetworkRemoteEndpoint.cs.

◆ start()

void DLT.RemoteEndpoint.start ( Socket  socket = null)

Definition at line 99 of file NetworkRemoteEndpoint.cs.

◆ stop()

void DLT.RemoteEndpoint.stop ( )

Definition at line 188 of file NetworkRemoteEndpoint.cs.

Member Data Documentation

◆ address

string DLT.RemoteEndpoint.address = "127.0.0.1"

Definition at line 23 of file NetworkRemoteEndpoint.cs.

◆ blockHeight

ulong DLT.RemoteEndpoint.blockHeight = 0

Definition at line 30 of file NetworkRemoteEndpoint.cs.

◆ challenge

byte [] DLT.RemoteEndpoint.challenge = null

Definition at line 80 of file NetworkRemoteEndpoint.cs.

◆ clientSocket

Socket DLT.RemoteEndpoint.clientSocket

Definition at line 38 of file NetworkRemoteEndpoint.cs.

◆ enableSendTimeSyncMessages

bool DLT.RemoteEndpoint.enableSendTimeSyncMessages = true
protected

Definition at line 69 of file NetworkRemoteEndpoint.cs.

◆ fullAddress

string DLT.RemoteEndpoint.fullAddress = "127.0.0.1:10000"

Definition at line 22 of file NetworkRemoteEndpoint.cs.

◆ fullyStopped

bool DLT.RemoteEndpoint.fullyStopped = false

Definition at line 35 of file NetworkRemoteEndpoint.cs.

◆ helloReceived

bool DLT.RemoteEndpoint.helloReceived = false

Definition at line 29 of file NetworkRemoteEndpoint.cs.

◆ incomingPort

int DLT.RemoteEndpoint.incomingPort = Config.serverPort

Definition at line 24 of file NetworkRemoteEndpoint.cs.

◆ lastDataReceivedTime

long DLT.RemoteEndpoint.lastDataReceivedTime = 0
protected

Definition at line 32 of file NetworkRemoteEndpoint.cs.

◆ lastDataSentTime

long DLT.RemoteEndpoint.lastDataSentTime = 0
protected

Definition at line 33 of file NetworkRemoteEndpoint.cs.

◆ parseThread

Thread DLT.RemoteEndpoint.parseThread = null
protected

Definition at line 44 of file NetworkRemoteEndpoint.cs.

◆ presence

Presence DLT.RemoteEndpoint.presence = null

Definition at line 46 of file NetworkRemoteEndpoint.cs.

◆ presenceAddress

PresenceAddress DLT.RemoteEndpoint.presenceAddress = null

Definition at line 47 of file NetworkRemoteEndpoint.cs.

◆ recvThread

Thread DLT.RemoteEndpoint.recvThread = null
protected

Definition at line 42 of file NetworkRemoteEndpoint.cs.

◆ remoteIP

IPEndPoint DLT.RemoteEndpoint.remoteIP

Definition at line 37 of file NetworkRemoteEndpoint.cs.

◆ running

bool DLT.RemoteEndpoint.running = false
protected

Definition at line 49 of file NetworkRemoteEndpoint.cs.

◆ sendThread

Thread DLT.RemoteEndpoint.sendThread = null
protected

Definition at line 43 of file NetworkRemoteEndpoint.cs.

◆ serverPubKey

byte [] DLT.RemoteEndpoint.serverPubKey = null

Definition at line 78 of file NetworkRemoteEndpoint.cs.

◆ serverWalletAddress

byte [] DLT.RemoteEndpoint.serverWalletAddress = null

Definition at line 77 of file NetworkRemoteEndpoint.cs.

◆ state

RemoteEndpointState DLT.RemoteEndpoint.state

Definition at line 39 of file NetworkRemoteEndpoint.cs.

◆ timeDifference

long DLT.RemoteEndpoint.timeDifference = 0

Definition at line 26 of file NetworkRemoteEndpoint.cs.

◆ timeSyncComplete

bool DLT.RemoteEndpoint.timeSyncComplete = false

Definition at line 27 of file NetworkRemoteEndpoint.cs.

◆ timeSyncs

List<TimeSyncData> DLT.RemoteEndpoint.timeSyncs = new List<TimeSyncData>()
protected

Definition at line 67 of file NetworkRemoteEndpoint.cs.


The documentation for this class was generated from the following file: