cwDnsSd.cpp,cwEuCon.cpp : Updates to support EuCon simulation.
This commit is contained in:
parent
9f2ccef9aa
commit
2710eb9ef7
14
cwDnsSd.cpp
14
cwDnsSd.cpp
@ -123,6 +123,9 @@ namespace cw
|
|||||||
void tcpSendCallback( void* arg, const void* buf, unsigned bufByteN )
|
void tcpSendCallback( void* arg, const void* buf, unsigned bufByteN )
|
||||||
{
|
{
|
||||||
rc_t rc;
|
rc_t rc;
|
||||||
|
|
||||||
|
printf("Send:%i\n",bufByteN);
|
||||||
|
|
||||||
dnssd_t* p = (dnssd_t*)arg;
|
dnssd_t* p = (dnssd_t*)arg;
|
||||||
if((rc = srv::send(p->tcpH,buf,bufByteN)) != kOkRC )
|
if((rc = srv::send(p->tcpH,buf,bufByteN)) != kOkRC )
|
||||||
cwLogError(rc,"TCP send failed.");
|
cwLogError(rc,"TCP send failed.");
|
||||||
@ -239,7 +242,8 @@ namespace cw
|
|||||||
|
|
||||||
free(formatStr);
|
free(formatStr);
|
||||||
|
|
||||||
p->dnsSd->gen_question();
|
//p->dnsSd->gen_question();
|
||||||
|
p->dnsSd->gen_response();
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -395,7 +399,7 @@ cw::rc_t cw::net::dnssd::start( handle_t h )
|
|||||||
cw::rc_t cw::net::dnssd::test()
|
cw::rc_t cw::net::dnssd::test()
|
||||||
{
|
{
|
||||||
rc_t rc = kOkRC;
|
rc_t rc = kOkRC;
|
||||||
const char* netIFace = "wlp3s0";
|
const char* netIFace = "ens9";
|
||||||
const char* serviceName = "MC Mix - 1";
|
const char* serviceName = "MC Mix - 1";
|
||||||
const char* serviceType = "_EuConProxy._tcp";
|
const char* serviceType = "_EuConProxy._tcp";
|
||||||
const char* serviceDomain = "local";
|
const char* serviceDomain = "local";
|
||||||
@ -427,9 +431,9 @@ cw::rc_t cw::net::dnssd::test()
|
|||||||
//
|
//
|
||||||
// Override the host name and mac address to match the example Wireshark captures
|
// Override the host name and mac address to match the example Wireshark captures
|
||||||
//
|
//
|
||||||
strcpy(hostname,"Euphonix-MC-0090D580F4DE");
|
//strcpy(hostname,"Euphonix-MC-0090D580F4DE");
|
||||||
unsigned char tmp_mac[] = { 0x00, 0x90, 0xd5, 0x80, 0xf4, 0xde };
|
//unsigned char tmp_mac[] = { 0x00, 0x90, 0xd5, 0x80, 0xf4, 0xde };
|
||||||
memcpy(hostMac,tmp_mac,6);
|
//memcpy(hostMac,tmp_mac,6);
|
||||||
|
|
||||||
|
|
||||||
// create the DNS-SD server
|
// create the DNS-SD server
|
||||||
|
68
cwEuCon.cpp
68
cwEuCon.cpp
@ -348,14 +348,14 @@ namespace cw
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc_t _send_response( socket::handle_t sockH, const char* packet )
|
rc_t _send_response( socket::handle_t sockH, const char* packet, unsigned packetN )
|
||||||
{
|
{
|
||||||
rc_t rc = kOkRC;
|
rc_t rc = kOkRC;
|
||||||
|
|
||||||
// send the initial handshake
|
// send the initial handshake
|
||||||
if((rc = socket::send( sockH, packet, strlen(packet) )) != kOkRC )
|
if((rc = socket::send( sockH, packet, packetN )) != kOkRC )
|
||||||
{
|
{
|
||||||
rc = cwLogError(rc,"TCP '%s' request failed.");
|
rc = cwLogError(rc,"TCP '%s' send failed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
@ -363,40 +363,12 @@ namespace cw
|
|||||||
|
|
||||||
rc_t _sendHandshake_0( socket::handle_t sockH, const char* label )
|
rc_t _sendHandshake_0( socket::handle_t sockH, const char* label )
|
||||||
{
|
{
|
||||||
/*
|
return _send_response(sockH,RESPONSE_1,sizeof(RESPONSE_1)-1);
|
||||||
rc_t rc = kOkRC;
|
|
||||||
unsigned char buf[88];
|
|
||||||
memset(buf,0,88);
|
|
||||||
buf[0] = 0x0a;
|
|
||||||
|
|
||||||
// send the initial handshake
|
|
||||||
if((rc = socket::send( sockH, buf, 88 )) != kOkRC )
|
|
||||||
{
|
|
||||||
rc = cwLogError(rc,"Initial TCP '%s' request failed.",label);
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
*/
|
|
||||||
return _send_response(sockH,RESPONSE_1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rc_t _sendHandshake_1( socket::handle_t sockH )
|
rc_t _sendHandshake_1( socket::handle_t sockH )
|
||||||
{
|
{
|
||||||
/*
|
return _send_response(sockH,RESPONSE_2,sizeof(RESPONSE_2)-1);
|
||||||
rc_t rc = kOkRC;
|
|
||||||
unsigned char buf[4];
|
|
||||||
memset(buf,0,4);
|
|
||||||
buf[0] = 0x0c;
|
|
||||||
|
|
||||||
// send the initial handshake
|
|
||||||
if((rc = socket::send( sockH, buf, 4 )) != kOkRC )
|
|
||||||
{
|
|
||||||
rc = cwLogError(rc,"TCP '%s' request failed.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
*/
|
|
||||||
return _send_response(sockH,RESPONSE_2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -465,7 +437,7 @@ namespace cw
|
|||||||
{
|
{
|
||||||
if( dataByteCnt >= 4 )
|
if( dataByteCnt >= 4 )
|
||||||
{
|
{
|
||||||
printHex(data,dataByteCnt);
|
//printHex(data,dataByteCnt);
|
||||||
|
|
||||||
unsigned hdr = *(const unsigned*)data;
|
unsigned hdr = *(const unsigned*)data;
|
||||||
|
|
||||||
@ -476,6 +448,7 @@ namespace cw
|
|||||||
{
|
{
|
||||||
p->protoState = kWaitForHandshake_2_Id;
|
p->protoState = kWaitForHandshake_2_Id;
|
||||||
_sendHandshake_1( socketHandle(p->tcpH) );
|
_sendHandshake_1( socketHandle(p->tcpH) );
|
||||||
|
printf("Rcvd Beat - sent 0xc\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -483,31 +456,42 @@ namespace cw
|
|||||||
if( hdr == 0x0d )
|
if( hdr == 0x0d )
|
||||||
{
|
{
|
||||||
p->protoState = kResponse_3_A_Id;
|
p->protoState = kResponse_3_A_Id;
|
||||||
|
printf("Rcvd 0xd\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(p->protoState)
|
||||||
|
{
|
||||||
case kResponse_3_A_Id:
|
case kResponse_3_A_Id:
|
||||||
_send_response(socketHandle(p->tcpH),RESPONSE_3_A);
|
_send_response(socketHandle(p->tcpH),RESPONSE_3_A,sizeof(RESPONSE_3_A)-1);
|
||||||
p->protoState = kResponse_3_B_Id;
|
p->protoState = kResponse_3_B_Id;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kResponse_3_B_Id:
|
case kResponse_3_B_Id:
|
||||||
_send_response(socketHandle(p->tcpH),RESPONSE_3_B);
|
_send_response(socketHandle(p->tcpH),RESPONSE_3_B,sizeof(RESPONSE_3_B)-1);
|
||||||
p->protoState = kResponse_4_A_Id;
|
p->protoState = kResponse_4_A_Id;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kResponse_4_A_Id:
|
case kResponse_4_A_Id:
|
||||||
_send_response(socketHandle(p->tcpH),RESPONSE_4_A);
|
_send_response(socketHandle(p->tcpH),RESPONSE_4_A,sizeof(RESPONSE_4_A)-1);
|
||||||
p->protoState = kResponse_4_B_Id;
|
p->protoState = kResponse_4_B_Id;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kResponse_4_B_Id:
|
case kResponse_4_B_Id:
|
||||||
_send_response(socketHandle(p->tcpH),RESPONSE_4_B);
|
_send_response(socketHandle(p->tcpH),RESPONSE_4_B,sizeof(RESPONSE_4_B)-1);
|
||||||
p->protoState = kRunning_Id;
|
p->protoState = kRunning_Id;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
}
|
case kRunning_Id:
|
||||||
|
printf("Rcv: %i : ",dataByteCnt );
|
||||||
|
for(unsigned i=0; i<dataByteCnt; ++i)
|
||||||
|
printf("0x%02x ",((uint8_t*)data)[i]);
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p->cbCnt+=1;
|
p->cbCnt+=1;
|
||||||
@ -516,8 +500,8 @@ namespace cw
|
|||||||
{
|
{
|
||||||
time::spec_t t1;
|
time::spec_t t1;
|
||||||
time::get(t1);
|
time::get(t1);
|
||||||
unsigned ms = time::elapsedMs( &p->t0, &t1 );
|
//unsigned ms = time::elapsedMs( &p->t0, &t1 );
|
||||||
printf("cb: %i %i\n",p->cbCnt,ms);
|
//printf("cb: %i %i\n",p->cbCnt,ms);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user