module Solargraph::LanguageServer::Transport::Socket
def post_init
def post_init @host = Solargraph::LanguageServer::Host.new @data_reader = Solargraph::LanguageServer::Transport::DataReader.new @data_reader.set_message_handler do |message| process message end start_timers end
def process request
def process request Thread.new do message = @host.start(request) message.send_response tmp = @host.flush send_data tmp unless tmp.empty? end end
def receive_data data
-
data(String) --
def receive_data data @data_reader.receive data end
def start_timers
def start_timers EventMachine.add_periodic_timer 0.1 do tmp = @host.flush send_data tmp unless tmp.empty? EventMachine.stop if @host.stopped? end end