class EventMachine::Synchrony::TCPSocket

def sync(direction)

direction must be one of :in or :out
def sync(direction)
  req = self.instance_variable_set "@#{direction.to_s}_req", EventMachine::DefaultDeferrable.new
  EventMachine::Synchrony.sync req
ensure
  self.instance_variable_set "@#{direction.to_s}_req", nil
end