improve port API
add Context and ChannelContext API