Example #1
0
    int JackNetMasterInterface::Send(size_t size, int flags)
    {
        int tx_bytes;
        packet_header_t* header = reinterpret_cast<packet_header_t*>(fTxBuffer);
        PacketHeaderHToN(header, header);

        if (((tx_bytes = fSocket.Send(fTxBuffer, size, flags)) == SOCKET_ERROR) && fRunning) {
            FatalSendError();
        }
        return tx_bytes;
    }
Example #2
0
    int JackNetSlaveInterface::Send(size_t size, int flags)
    {
        packet_header_t* header = reinterpret_cast<packet_header_t*>(fTxBuffer);
        PacketHeaderHToN(header, header);
        int tx_bytes = fSocket.Send(fTxBuffer, size, flags);

        // handle errors
        if (tx_bytes == SOCKET_ERROR) {
            FatalSendError();
        }
        
        return tx_bytes;
    }
 int JackNetSlaveInterface::Send ( size_t size, int flags )
 {
     packet_header_t* header = reinterpret_cast<packet_header_t*>(fTxBuffer);
     PacketHeaderHToN(header, header);
     int tx_bytes = fSocket.Send ( fTxBuffer, size, flags );
      
     //handle errors
     if ( tx_bytes == SOCKET_ERROR )
     {
         net_error_t error = fSocket.GetError();
         //if a network error occurs, this exception will restart the driver
         if ( error == NET_CONN_ERROR )
         {
             jack_error ( "Connection lost." );
             throw JackNetException();
         }
         else
             jack_error ( "Fatal error in slave send : %s", StrError ( NET_ERROR_CODE ) );
     }
     return tx_bytes;
 }
 int JackNetMasterInterface::Send ( size_t size, int flags )
 {
     int tx_bytes;
     packet_header_t* header = reinterpret_cast<packet_header_t*>(fTxBuffer);
     PacketHeaderHToN(header, header);
     
     if ( ( ( tx_bytes = fSocket.Send ( fTxBuffer, size, flags ) ) == SOCKET_ERROR ) && fRunning )
     {
         net_error_t error = fSocket.GetError();
         if ( error == NET_CONN_ERROR )
         {
             //fatal connection issue, exit
             jack_error ( "'%s' : %s, exiting.", fParams.fName, StrError ( NET_ERROR_CODE ) );
             Exit();
             
             // UGLY temporary way to be sure the thread does not call code possibly causing a deadlock in JackEngine.
             ThreadExit();
         }
         else
             jack_error ( "Error in master send : %s", StrError ( NET_ERROR_CODE ) );
     }
     return tx_bytes;
 }