filestoraged/src/server/network.cr

34 lines
722 B
Crystal
Raw Normal View History

require "ipc"
2020-10-21 03:27:51 +02:00
require "ipc/json"
require "json"
2023-02-09 23:28:10 +01:00
class IPC
def schedule(fd : Int32, request : IPC::JSON)
m = IPCMessage::TypedMessage.new request.type.to_u8, request.to_json
schedule fd, m
end
end
2020-10-20 19:15:50 +02:00
module FileStorage
class_getter requests = [] of IPC::JSON.class
class_getter responses = [] of IPC::JSON.class
class_getter errors = [] of IPC::JSON.class
end
2023-02-09 23:28:10 +01:00
class FileStorage::Client < IPC
def initialize
2023-02-09 23:28:10 +01:00
super
fd = self.connect "filestorage"
if fd.nil?
raise "couldn't connect to 'auth' IPC service"
end
@server_fd = fd
end
end
2020-10-21 03:27:51 +02:00
require "../requests/login.cr"
require "../requests/transfer.cr"
require "../requests/upload.cr"
require "../requests/errors.cr"
require "../requests/download.cr"