# ${readsocket (Unix domain and IPv4)
need_ipv4
#
exim -be
1 >>${readsocket{DIR/test-socket}{QUERY-1\n}}<<
2 ${if exists{DIR/test-socket}\
  {>>${readsocket{DIR/test-socket}{QUERY-1\n}}<<}\
  {++ no socket ++}} 
****
#
# Note the difference between:
#   >*eof      => close the connection
#   *eof       => expect to read EOF from client
#
server DIR/test-socket 9
QUERY-1
>LF>ANSWER-1
>*eof
QUERY-2
>>ANSWER-2
>*eof
QUERY-3
>LF>ANSWER-3
>*eof
QUERY-4
>LF>ANSWER-4
>*eof
>>ANSWER-5
>*eof
*sleep 1
>*eof
>*eof
QUERY-8
*sleep 2
*eof
QUERY-9
*sleep 2
****
millisleep 500
exim -be
1 >>${readsocket{DIR/test-socket}{QUERY-1\n}}<<
2 >>${readsocket{DIR/test-socket}{QUERY-2\n}}<<
3 >>${readsocket{DIR/test-socket}{QUERY-3\n}{2s}{*EOL*}}<<
4 >>${readsocket{DIR/test-socket}{QUERY-4\n}{2s}{*EOL*}{sock error}}<<
5 >>${readsocket{DIR/test-socket}{}}<<
6 >>${readsocket{DIR/test-socket}{QUERY-6\n}}<<
7 >>${readsocket{DIR/test-socket}{QUERY-7\n}{1s}{}{sock error}}<<
8 >>${readsocket{DIR/test-socket}{QUERY-8\n}{1s}}<<
9 >>${readsocket{DIR/test-socket}{QUERY-9\n}{1s}{}{sock error}}<<
****
server DIR/test-socket
QUERY-ACL
*sleep 3
****
exim -odq -bs -oMa V4NET.0.0.0
quit
****
#
# Tests of IPv4 sockets
#
server PORT_S 10
QUERY-1
>LF>ANSWER-1
>*eof
QUERY-2
>>ANSWER-2
>*eof
QUERY-3
>LF>ANSWER-3
>*eof
QUERY-4
>LF>ANSWER-4
>*eof
>>ANSWER-5
>*eof
*sleep 1
>*eof
>*eof
QUERY-8
*sleep 2
*eof
QUERY-9
*sleep 2
*eof
QUERY-10
>LF>ANSWER-10
>*eof
****
millisleep 500
exim -be
1 >>${readsocket{inet:thisloop:PORT_S}{QUERY-1\n}}<<
2 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-2\n}}<<
3 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-3\n}{2s}{*EOL*}}<<
4 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-4\n}{2s}{*EOL*}{sock error}}<<
5 >>${readsocket{inet:127.0.0.1:PORT_S}{}}<<
6 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-6\n}}<<
7 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-7\n}{1s}{}{sock error}}<<
8 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-8\n}{1s}}<<
9 >>${readsocket{inet:127.0.0.1:PORT_S}{QUERY-9\n}{1s}{}{sock error}}<<
10 >>${readsocket{inet:badloop:PORT_S}{QUERY-10\n}}<<
****
