From 9f6f7111871bbdd1f61553497ff85a9ccdf89294 Mon Sep 17 00:00:00 2001 From: Karchnu Date: Fri, 2 Oct 2020 19:22:36 +0200 Subject: [PATCH] Transfering ip address to trackingd is ok --- src/websocketd.cr | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/websocketd.cr b/src/websocketd.cr index 6f03d4b..89c63bd 100644 --- a/src/websocketd.cr +++ b/src/websocketd.cr @@ -1,5 +1,6 @@ require "option_parser" require "ipc" +require "ipc/json" require "socket" require "./colors" @@ -18,6 +19,15 @@ require "colorize" # All modifications to standard libraries go there. require "./lib_modifications.cr" +class Tracking::Request + IPC::JSON.message IpAddress, 1 do + property ipaddress : String? + + def initialize(@ipaddress = nil) + end + end +end + class Context # service instance parameters # they can be changed via the cli @@ -221,15 +231,12 @@ def websocket_client_connection(client) sfd = Context.context.switchtable[client.fd] Baguette::Log.info "trackingd - sending the IP address #{real_ip_address} to fd #{sfd}" - # message = IPC::Message.from_json(JSON).to_packet - # => JSON has to include these attributes: mtype, utype, payload - # message = IPC::Message.new mtype, utype, payload - message = IPC::Message.new sfd, 1, 1.to_u8, "{\"ipaddress\": \"#{real_ip_address}\"}" + message = Tracking::Request::IpAddress.new real_ip_address + if Context.print_messages Baguette::Log.info "to trackingd: #{message.to_s}" end - serv = WrappedTCPFileDescriptor.new(fd: sfd, family: Socket::Family::INET) - serv.send message.to_packet + Context.service.send_now sfd, message end if Context.print_messages