Ixian SDK
IXICore.Network.RemoteEndpoint Class Reference
Inheritance diagram for IXICore.Network.RemoteEndpoint:
IXICore.Network.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)
 
bool attachEvent (NetworkEvents.Type type, byte[] address)
 
bool detachEvent (NetworkEvents.Type type, byte[] address)
 
bool isSubscribedToEvent (NetworkEvents.Type type, byte[] address)
 
bool detachEvents (NetworkEvents.Type type)
 
long calculateTimeDifference ()
 

Public Attributes

string fullAddress = "127.0.0.1:0"
 
string address = "127.0.0.1"
 
int incomingPort = 0
 
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 19 of file NetworkRemoteEndpoint.cs.

Member Function Documentation

◆ attachEvent()

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

Definition at line 887 of file NetworkRemoteEndpoint.cs.

◆ calculateTimeDifference()

long IXICore.Network.RemoteEndpoint.calculateTimeDifference ( )

Definition at line 980 of file NetworkRemoteEndpoint.cs.

◆ detachEvent()

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

Definition at line 910 of file NetworkRemoteEndpoint.cs.

◆ detachEvents()

bool IXICore.Network.RemoteEndpoint.detachEvents ( NetworkEvents.Type  type)

Definition at line 958 of file NetworkRemoteEndpoint.cs.

◆ disconnect()

virtual void IXICore.Network.RemoteEndpoint.disconnect ( )
virtual

Reimplemented in IXICore.Network.NetworkClient.

Definition at line 311 of file NetworkRemoteEndpoint.cs.

◆ getFullAddress()

string IXICore.Network.RemoteEndpoint.getFullAddress ( bool  useIncomingPorts = false)

Definition at line 684 of file NetworkRemoteEndpoint.cs.

◆ getQueuedMessageCount()

int IXICore.Network.RemoteEndpoint.getQueuedMessageCount ( )

Definition at line 652 of file NetworkRemoteEndpoint.cs.

◆ isConnected()

bool IXICore.Network.RemoteEndpoint.isConnected ( )

Definition at line 666 of file NetworkRemoteEndpoint.cs.

◆ isSubscribedToEvent()

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

Definition at line 929 of file NetworkRemoteEndpoint.cs.

◆ parseDataInternal()

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

Definition at line 523 of file NetworkRemoteEndpoint.cs.

◆ parseLoop()

void IXICore.Network.RemoteEndpoint.parseLoop ( )
protected

Definition at line 477 of file NetworkRemoteEndpoint.cs.

◆ prepareSocket()

void IXICore.Network.RemoteEndpoint.prepareSocket ( Socket  socket)
protected

Definition at line 78 of file NetworkRemoteEndpoint.cs.

◆ readSocketData()

byte [] IXICore.Network.RemoteEndpoint.readSocketData ( )
protected

Definition at line 770 of file NetworkRemoteEndpoint.cs.

◆ readTimeSyncData()

void IXICore.Network.RemoteEndpoint.readTimeSyncData ( )
protected

Definition at line 736 of file NetworkRemoteEndpoint.cs.

◆ recvLoop()

virtual void IXICore.Network.RemoteEndpoint.recvLoop ( )
protectedvirtual

Reimplemented in IXICore.Network.NetworkClient.

Definition at line 241 of file NetworkRemoteEndpoint.cs.

◆ sendData()

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

Definition at line 614 of file NetworkRemoteEndpoint.cs.

◆ sendDataInternal()

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

Definition at line 537 of file NetworkRemoteEndpoint.cs.

◆ sendLoop()

void IXICore.Network.RemoteEndpoint.sendLoop ( )
protected

Definition at line 356 of file NetworkRemoteEndpoint.cs.

◆ sendTimeSyncMessages()

void IXICore.Network.RemoteEndpoint.sendTimeSyncMessages ( )
protected

Definition at line 329 of file NetworkRemoteEndpoint.cs.

◆ start()

void IXICore.Network.RemoteEndpoint.start ( Socket  socket = null)

Definition at line 95 of file NetworkRemoteEndpoint.cs.

◆ stop()

void IXICore.Network.RemoteEndpoint.stop ( )

Definition at line 184 of file NetworkRemoteEndpoint.cs.

Member Data Documentation

◆ address

string IXICore.Network.RemoteEndpoint.address = "127.0.0.1"

Definition at line 22 of file NetworkRemoteEndpoint.cs.

◆ blockHeight

ulong IXICore.Network.RemoteEndpoint.blockHeight = 0

Definition at line 29 of file NetworkRemoteEndpoint.cs.

◆ challenge

byte [] IXICore.Network.RemoteEndpoint.challenge = null

Definition at line 76 of file NetworkRemoteEndpoint.cs.

◆ clientSocket

Socket IXICore.Network.RemoteEndpoint.clientSocket

Definition at line 37 of file NetworkRemoteEndpoint.cs.

◆ enableSendTimeSyncMessages

bool IXICore.Network.RemoteEndpoint.enableSendTimeSyncMessages = true
protected

Definition at line 65 of file NetworkRemoteEndpoint.cs.

◆ fullAddress

string IXICore.Network.RemoteEndpoint.fullAddress = "127.0.0.1:0"

Definition at line 21 of file NetworkRemoteEndpoint.cs.

◆ fullyStopped

bool IXICore.Network.RemoteEndpoint.fullyStopped = false

Definition at line 34 of file NetworkRemoteEndpoint.cs.

◆ helloReceived

bool IXICore.Network.RemoteEndpoint.helloReceived = false

Definition at line 28 of file NetworkRemoteEndpoint.cs.

◆ incomingPort

int IXICore.Network.RemoteEndpoint.incomingPort = 0

Definition at line 23 of file NetworkRemoteEndpoint.cs.

◆ lastDataReceivedTime

long IXICore.Network.RemoteEndpoint.lastDataReceivedTime = 0
protected

Definition at line 31 of file NetworkRemoteEndpoint.cs.

◆ lastDataSentTime

long IXICore.Network.RemoteEndpoint.lastDataSentTime = 0
protected

Definition at line 32 of file NetworkRemoteEndpoint.cs.

◆ parseThread

Thread IXICore.Network.RemoteEndpoint.parseThread = null
protected

Definition at line 43 of file NetworkRemoteEndpoint.cs.

◆ presence

Presence IXICore.Network.RemoteEndpoint.presence = null

Definition at line 45 of file NetworkRemoteEndpoint.cs.

◆ presenceAddress

PresenceAddress IXICore.Network.RemoteEndpoint.presenceAddress = null

Definition at line 46 of file NetworkRemoteEndpoint.cs.

◆ recvThread

Thread IXICore.Network.RemoteEndpoint.recvThread = null
protected

Definition at line 41 of file NetworkRemoteEndpoint.cs.

◆ remoteIP

IPEndPoint IXICore.Network.RemoteEndpoint.remoteIP

Definition at line 36 of file NetworkRemoteEndpoint.cs.

◆ running

bool IXICore.Network.RemoteEndpoint.running = false
protected

Definition at line 48 of file NetworkRemoteEndpoint.cs.

◆ sendThread

Thread IXICore.Network.RemoteEndpoint.sendThread = null
protected

Definition at line 42 of file NetworkRemoteEndpoint.cs.

◆ serverPubKey

byte [] IXICore.Network.RemoteEndpoint.serverPubKey = null

Definition at line 74 of file NetworkRemoteEndpoint.cs.

◆ serverWalletAddress

byte [] IXICore.Network.RemoteEndpoint.serverWalletAddress = null

Definition at line 73 of file NetworkRemoteEndpoint.cs.

◆ state

RemoteEndpointState IXICore.Network.RemoteEndpoint.state

Definition at line 38 of file NetworkRemoteEndpoint.cs.

◆ timeDifference

long IXICore.Network.RemoteEndpoint.timeDifference = 0

Definition at line 25 of file NetworkRemoteEndpoint.cs.

◆ timeSyncComplete

bool IXICore.Network.RemoteEndpoint.timeSyncComplete = false

Definition at line 26 of file NetworkRemoteEndpoint.cs.

◆ timeSyncs

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

Definition at line 63 of file NetworkRemoteEndpoint.cs.


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