Tcp test
include tcp
type addr
type pkt
instance net : simple_tcp(addr,pkt)
export net.send
import net.recv
relation foo
isolate test = {
implementation {
interpret addr -> bv[1]
interpret pkt -> bv[1]
interpret net.tcp.socket -> bv[4]
action close_socket(src:addr,dst:addr) = {
call net.tcp.close(src,net.proc.sock(src,dst))
}
}
before close_socket(src:addr,dst:addr) {
require net.proc.isup(src,dst)
}
}
isolate iso_test = net,test with net.tcp,net.tcp.impl
export test.close_socket
extract iso_proc(self:addr) = net(self),test
export net.listen
export net.close
export net.connect
export net.send
export net.accept
export net.recv
export net.failed
export net.connected