Sha256: 2e6e77e9d0592679addb45937010ca199b9e1bfd4007ef290342ab034577174d

Contents?: true

Size: 382 Bytes

Versions: 3

Compression:

Stored size: 382 Bytes

Contents

module Yoda
  class Server
    # Wrapper class for writer to make thread safe
    class ConcurrentWriter
      # @param channel [::LanguageServer::Protocol::Transport::Stdio::Writer]
      def initialize(channel)
        @channel = channel
        @mutex = Mutex.new
      end

      def write(*args)
        @mutex.synchronize { @channel.write(*args) }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/server/concurrent_writer.rb
yoda-language-server-0.10.0 lib/yoda/server/concurrent_writer.rb
yoda-language-server-0.9.0 lib/yoda/server/concurrent_writer.rb