/
CDC-1.2b/
CDC-1.2b/src/
parent $network
object $slate_connection

var $root dbref 'slate_connection
var $root child_index 5
var $root fertile 0
var $root manager $slate_connection
var $root owned [$slate_connection]
var $root owners [$slate_connection]
var $root writable []
var $root readable ['parameters, 'methods, 'code]
var $network buffer `[]
var $network ip ""
var $network hostname ""
var $network port 0
var $network socket 0
var $network active 0
var $root inited 1
var $slate_connection receiver 0

method receive
    arg line, status;
    
    if (receiver)
        receiver.receive(line, status);
.

method uninit_slate
    (> .perms(caller(), $root) <);
    (| receiver.slate_going_away() |);
.

method init_slate
    (> .perms(caller(), $root) <);
    receiver = 0;
.

method open
    arg addr, port;
    
    (> pass(addr, port) <);
    receiver = sender();
.

method new_slate_connection
    var new_obj;
    
    (> .perms(caller(), 'trusts) <);
    new_obj = .spawn();
    new_obj.add_writer(sender());
    new_obj.chown([sender()]);
    new_obj.set_manager(sender());
    return new_obj;
.

method close
    (> pass() <);
    (| slate.connection_ending() |);
    (> .destroy() <);
.