My thought process on doing it would be a client and server merge running all server code on separate threads, removing all data transfer code and all packet sender methods, just call the packet handlers passing in the packet, hence skipping the TCP. I could just re-direct directly to the handler methods passing in the data as parameters to be more efficient and clean. I doubt I would use method 2 since it would be boring to re-write each handler one by one for barely any efficiency bonus'.
i'm open to debate but that's how I personally would do it, @jcsnider will probably find a better solution or someone with more patience who hasn't been working on Intersect for nearly 2 years now