Added bformat encoding

This commit is contained in:
Tristan B. Kildaire 2021-01-30 11:50:11 +02:00
parent 5021c5038c
commit 77a4b01a3a
1 changed files with 16 additions and 9 deletions

View File

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