Method: QB::IPC::STDIO::Server#initialize

Defined in:
lib/qb/ipc/stdio/server.rb

#initializeServer

Instantiate a new QB::IPC::STDIO::Server.



163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/qb/ipc/stdio/server.rb', line 163

def initialize
  @socket_dir = Dir.mktmpdir( 'qb-ipc-stdio' ).to_pn
  
  @in_service   = QB::IPC::STDIO::Server::InService.new \
                    name: :in,
                    socket_dir: socket_dir,
                    src: $stdin
                    
  @out_service  = QB::IPC::STDIO::Server::OutService.new \
                    name: :out,
                    socket_dir: socket_dir,
                    dest: $stdout
                    
  @err_service  = QB::IPC::STDIO::Server::OutService.new \
                    name: :err,
                    socket_dir: socket_dir,
                    dest: $stderr
  
  @log_service  = QB::IPC::STDIO::Server::LogService.new \
                    name: :log,
                    socket_dir: socket_dir
                    
  ObjectSpace.define_finalizer \
    self,
    self.class.finalizer_for(
      object_id: object_id,
      services: services,
      socket_dir: socket_dir
    )
end