Class: Up::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/up/client.rb,
ext/up_ext/up_ext.c

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#envObject (readonly)

instance vars are set by the server



12
13
14
# File 'lib/up/client.rb', line 12

def env
  @env
end

#handlerObject

instance vars are set by the server



12
13
14
# File 'lib/up/client.rb', line 12

def handler
  @handler
end

#protocolObject (readonly)

instance vars are set by the server



12
13
14
# File 'lib/up/client.rb', line 12

def protocol
  @protocol
end

#timeoutObject (readonly)

instance vars are set by the server



12
13
14
# File 'lib/up/client.rb', line 12

def timeout
  @timeout
end

Instance Method Details

#closeObject



432
433
434
435
# File 'ext/up_ext/up_ext.c', line 432

def close
  @open = false
  `#@ws?.close()`
end

#open?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/up/client.rb', line 20

def open?
  @open
end

#pendingObject



440
441
442
443
# File 'ext/up_ext/up_ext.c', line 440

def pending
  return -1 unless @open
  `#@ws?.getBufferedAmount()`
end

#publish(channel, message) ⇒ Object



498
499
500
501
502
503
504
505
506
507
508
509
510
# File 'ext/up_ext/up_ext.c', line 498

def publish(channel, message)
  res = false
  %x{
    if (!message.$$is_string) {
      message = JSON.stringify(message);
    }
    res = #@server?.publish(channel, message);
    if (#@worker) {
      process.send({c: channel, m: message});
    }
  }
  res
end

#pubsub?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/up/client.rb', line 24

def pubsub?
  true
end

#subscribe(*args) ⇒ Object



526
527
528
529
# File 'ext/up_ext/up_ext.c', line 526

def subscribe(channel, is_pattern = false, &block)
  @sub_block = block
  `#@ws?.subscribe(channel)`
end

#unsubscribe(*args) ⇒ Object



554
555
556
# File 'ext/up_ext/up_ext.c', line 554

def unsubscribe(channel, is_pattern = false)
  `#@ws?.unsubscribe(channel)`
end

#write(rdata) ⇒ Object



540
541
542
# File 'ext/up_ext/up_ext.c', line 540

def write(data)
  `#@ws?.send(data, false)`
end