add nio package and channel example