1
0
mirror of https://github.com/deavminet/dnetd synced 2024-09-21 17:53:39 +02:00

Added bformat encoding

This commit is contained in:
Tristan B. Kildaire 2021-01-30 11:50:11 +02:00
parent 5021c5038c
commit 77a4b01a3a

View File

@ -8,7 +8,11 @@ import dnetd.dserver;
import dnetd.dconfig; import dnetd.dconfig;
import std.socket : Address; import std.socket : Address;
import core.thread : Thread; import core.thread : Thread;
import std.socket;
import gogga;
import core.thread;
import tristanable.encoding : DataMessage;
import bmessage : bSendMessage = sendMessage;
/** /**
* Link manager * Link manager
@ -70,6 +74,11 @@ public final class DLink : Thread
private string name; private string name;
private Address address; private Address address;
/**
* Outbound utilities
*/
private Socket outboundSocket;
/** /**
* Constructs a DLink for an outbound peering * Constructs a DLink for an outbound peering
*/ */
@ -93,11 +102,7 @@ public final class DLink : Thread
private void initializeOutboundConnection() private void initializeOutboundConnection()
{ {
/* Open a connection to the server */ /* Open a connection to the server */
import std.socket; outboundSocket = new Socket(address.addressFamily, SocketType.STREAM, ProtocolType.TCP);
import gogga;
import core.thread;
Socket socket = new Socket(address.addressFamily, SocketType.STREAM, ProtocolType.TCP);
gprintln(address); gprintln(address);
@ -107,7 +112,7 @@ public final class DLink : Thread
{ {
try try
{ {
socket.connect(address); outboundSocket.connect(address);
break; break;
} }
catch(SocketOSException) catch(SocketOSException)
@ -132,9 +137,11 @@ public final class DLink : Thread
data ~= [1]; data ~= [1];
/* TODO: Encode [nameLen, name] */ /* TODO: Encode [nameLen, name] */
import tristanable.encoding : DataMessage;
DataMessage message = new DataMessage(0, [1]); /* Encode and send LINK command */
DataMessage message = new DataMessage(0, data);
bSendMessage(outboundSocket, message.encode());
/* TODO: Implement me */ /* TODO: Implement me */