def __init__(self, chanid):
self.chanid = chanid<EOL>self.remote_chanid = <NUM_LIT:0><EOL>self.transport = None<EOL>self.active = False<EOL>self.eof_received = <NUM_LIT:0><EOL>self.eof_sent = <NUM_LIT:0><EOL>self.in_buffer = BufferedPipe()<EOL>self.in_stderr_buffer = BufferedPipe()<EOL>self.timeout = None<EOL>self.closed = False<EOL>self.ultra_debug = False<EOL>self.lock = threading.Lock()<EOL>self.out_buffer_cv = threading.Condition(self.lock)<EOL>self.in_window_size = <NUM_LIT:0><EOL>self.out_window_size = <NUM_LIT:0><EOL>self.in_max_packet_size = <NUM_LIT:0><EOL>self.out_max_packet_size = <NUM_LIT:0><EOL>self.in_window_threshold = <NUM_LIT:0><EOL>self.in_window_sofar = <NUM_LIT:0><EOL>self.status_event = threading.Event()<EOL>self._name = str(chanid)<EOL>self.logger = util.get_logger('<STR_LIT>')<EOL>self._pipe = None<EOL>self.event = threading.Event()<EOL>self.event_ready = False<EOL>self.combine_stderr = False<EOL>self.exit_status = -<NUM_LIT:1><EOL>self.origin_addr = None<EOL>
Create a new channel.  The channel is not associated with any
particular session or L{Transport} until the Transport attaches it.
Normally you would only call this method from the constructor of a
subclass of L{Channel}.

@param chanid: the ID of this channel, as passed by an existing
    L{Transport}.
@type chanid: int