class PlaceOS::Api::Edges::ConnectionManager

Overview

########################################################################## Edge Connection Management

Handles the websocket proxy between Edge and Core

TODO Use a single socket per core

Defined in:

placeos-rest-api/controllers/edges/connection_manager.cr

Constant Summary

Log = ::Log.for(self)

Constructors

Instance Method Summary

Constructor Detail

def self.new(core_discovery : Api::Discovery::Core) #

[View source]

Instance Method Detail

def add_core(edge_id : String, rendezvous : RendezvousHash = core_discovery.rendezvous, current_node : HoundDog::Service::Node | Nil = nil, reconnect : Bool = false) #

[View source]
def add_edge(edge_id : String, socket : HTTP::WebSocket) #

[View source]
def core_discovery : Api::Discovery::Core #

[View source]
def rebalance(nodes : Array(HoundDog::Service::Node)) #

[View source]
def remove(edge_id : String) #

[View source]