Module: DRab

Defined in:
lib/drab/invokemethod.rb,
lib/drab/eq.rb,
lib/drab/gw.rb,
lib/drab/ssl.rb,
lib/drab/drab.rb,
lib/drab/unix.rb,
lib/drab/extserv.rb,
lib/drab/version.rb,
lib/drab/extservm.rb,
lib/drab/observer.rb,
lib/drab/timeridconv.rb

Overview

for ruby-1.8.0

Defined Under Namespace

Modules: DRabObservable, DRabProtocol, DRabUndumped Classes: DRabArray, DRabBadScheme, DRabBadURI, DRabConn, DRabConnError, DRabError, DRabIdConv, DRabMessage, DRabObject, DRabRemoteError, DRabSSLSocket, DRabServer, DRabServerNotFound, DRabTCPSocket, DRabUNIXSocket, DRabUnknown, DRabUnknownError, ExtServ, ExtServManager, GW, GWIdConv, TimerIdConv

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.configObject



1445
1446
1447
1448
1449
# File 'lib/drab/drab.rb', line 1445

def config
  current_server.config
rescue
  DRabServer.make_config
end

.current_serverObject

Raises:



1414
1415
1416
1417
1418
1419
# File 'lib/drab/drab.rb', line 1414

def current_server
  drab = Thread.current['DRab']
  server = (drab && drab['server']) ? drab['server'] : @primary_server
  raise DRabServerNotFound unless server
  return server
end

.fetch_server(uri) ⇒ Object



1498
1499
1500
# File 'lib/drab/drab.rb', line 1498

def fetch_server(uri)
  @server[uri]
end

.frontObject



1452
1453
1454
# File 'lib/drab/drab.rb', line 1452

def front
  current_server.front
end

.here?(uri) ⇒ Boolean

Returns:

  • (Boolean)


1439
1440
1441
1442
# File 'lib/drab/drab.rb', line 1439

def here?(uri)
  current_server.here?(uri) rescue false
  # (current_server.uri rescue nil) == uri
end

.install_acl(acl) ⇒ Object



1472
1473
1474
# File 'lib/drab/drab.rb', line 1472

def install_acl(acl)
  DRabServer.default_acl(acl)
end

.mutexObject



1479
1480
1481
# File 'lib/drab/drab.rb', line 1479

def mutex
  @mutex
end

.primary_serverObject

Returns the value of attribute primary_server.



1411
1412
1413
# File 'lib/drab/drab.rb', line 1411

def primary_server
  @primary_server
end

.primary_server=(value) ⇒ Object

Sets the attribute primary_server

Parameters:

  • value

    the value to set the attribute primary_server to.



1411
1412
1413
# File 'lib/drab/drab.rb', line 1411

def primary_server=(value)
  @primary_server = value
end

.regist_server(server) ⇒ Object



1485
1486
1487
1488
1489
1490
# File 'lib/drab/drab.rb', line 1485

def regist_server(server)
  @server[server.uri] = server
  mutex.synchronize do
    @primary_server = server unless @primary_server
  end
end

.remove_server(server) ⇒ Object



1493
1494
1495
# File 'lib/drab/drab.rb', line 1493

def remove_server(server)
  @server.delete(server.uri)
end

.start_service(uri = nil, front = nil, config = nil) ⇒ Object



1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
# File 'lib/drab/drab.rb', line 1398

def start_service(uri=nil, front=nil, config=nil)
  if config == nil
    config = {}
  end
  if uri.include? "?secret="
    uri, secret = uri.split("?secret=")
    config[:secret] = secret
  end

  @primary_server = DRabServer.new(uri, front, config)
end

.stop_serviceObject



1422
1423
1424
1425
# File 'lib/drab/drab.rb', line 1422

def stop_service
  @primary_server.stop_service if @primary_server
  @primary_server = nil
end

.threadObject



1467
1468
1469
# File 'lib/drab/drab.rb', line 1467

def thread
  @primary_server ? @primary_server.thread : nil
end

.to_id(obj) ⇒ Object



1461
1462
1463
# File 'lib/drab/drab.rb', line 1461

def to_id(obj)
  current_server.to_id(obj)
end

.to_obj(ref) ⇒ Object



1457
1458
1459
# File 'lib/drab/drab.rb', line 1457

def to_obj(ref)
  current_server.to_obj(ref)
end

.uriObject



1428
1429
1430
1431
1432
1433
1434
1435
1436
# File 'lib/drab/drab.rb', line 1428

def uri
  drab = Thread.current['DRab']
  client = (drab && drab['client'])
  if client
    uri = client.uri
    return uri if uri
  end
  current_server.uri
end