Reuse channels

store a cache of the channels so a single pid can re-use a connection. This needs to be per pid as when you fork you keep the original memory space and we can't control currency across pids