/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġkotlinx . coroutines . channels Ċ Ċ import Ġkotlinx . coroutines .* Ċ import Ġkotlin . coroutines .* Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ internal Ġopen Ġclass ĠChannel Coroutine < E >( ĊĠĠĠ Ġparent Context : ĠCor outine Context , ĊĠĠĠ Ġprotected Ġval Ġ_ channel : ĠChannel < E >, ĊĠĠĠ Ġactive : ĠBoolean Ċ ) Ġ: ĠAbstract Coroutine < Unit >( parent Context , Ġactive ), ĠChannel < E > Ġby Ġ_ channel Ġ{ ĊĠĠĠ Ġval Ġchannel : ĠChannel < E > Ġget () Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġcancel Internal ( default Cancellation Exception ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Deprecated ( level Ġ= ĠDeprec ation Level . HIDDEN , Ġmessage Ġ= Ġ" Since Ġ 1 . 2 . 0 , Ġbinary Ġcompatibility Ġwith Ġversions Ġ<= Ġ 1 . 1 . x ") ĊĠĠĠ Ġfinal Ġoverride Ġfun Ġcancel ( cause : ĠThrowable ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġcancel Internal ( default Cancellation Exception ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġcancel ( cause : ĠC ancellation Exception ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcancel Internal ( cause Ġ?: Ġdefault Cancellation Exception ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcancel Internal ( cause : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġcause . to Cancellation Exception () ĊĠĠĠĠĠĠĠ Ġ_ channel . cancel ( exception ) Ġ// Ġcancel Ġthe Ġchannel ĊĠĠĠĠĠĠĠ Ġcancel Coroutine ( exception ) Ġ// Ġcancel Ġthe Ġjob ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġsuspend Ġfun Ġsend F air ( element : ĠE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ(_ channel Ġas ĠAbstract Send Channel < E >). send F air ( element ) ĊĠĠĠ Ġ} Ċ } Ċ