20 #ifndef __JackNetInterface__    21 #define __JackNetInterface__    23 #include "JackNetTool.h"    29 #define DEFAULT_MULTICAST_IP "225.3.19.154"    30 #define DEFAULT_PORT    19000    31 #define DEFAULT_MTU     1500    34 #define SLAVE_SETUP_RETRY   5    36 #define MANAGER_INIT_TIMEOUT    1000000 * 2   // in usec    37 #define MASTER_INIT_TIMEOUT     1000000 * 10  // in usec    38 #define SLAVE_INIT_TIMEOUT      1000000 * 1   // in usec    39 #define PACKET_TIMEOUT          1000000       // in usec    41 #define NETWORK_DEFAULT_LATENCY     2      42 #define NETWORK_MAX_LATENCY         30  // maximum possible latency in network master/slave loop    51         friend class JackNetExt;
    62             char fMulticastIP[32];
    85             int SetNetBufferSize();
    86             void FreeNetworkBuffers();
    89             virtual bool SetParams();
    90             virtual bool Init() = 0;
    93             virtual void EncodeTransportData() = 0;
    94             virtual void DecodeTransportData() = 0;
    97             virtual void EncodeSyncPacket(
int frames = -1) = 0;
    98             virtual void DecodeSyncPacket(
int& frames) = 0;
   100             virtual int SyncRecv() = 0;
   101             virtual int SyncSend() = 0;
   102             virtual int DataRecv() = 0;
   103             virtual int DataSend() = 0;
   105             virtual int Send(
size_t size, 
int flags) = 0;
   106             virtual int Recv(
size_t size, 
int flags) = 0;
   108             virtual void FatalRecvError() = 0;
   109             virtual void FatalSendError() = 0;
   111             int MidiSend(
NetMidiBuffer* buffer, 
int midi_channnels, 
int audio_channels);
   119             void SetRcvTimeOut();
   120             void SetPacketTimeOut(
int time_out)
   123                 fPacketTimeOut = time_out;
   149             int fCurrentCycleOffset;
   165             void EncodeSyncPacket(
int frames = -1);
   166             void DecodeSyncPacket(
int& frames);
   168             int Send(
size_t size, 
int flags);
   169             int Recv(
size_t size, 
int flags);
   171             void FatalRecvError();
   172             void FatalSendError();
   179                 fCurrentCycleOffset(0), 
   186                     fCurrentCycleOffset(0), 
   204             static uint fSlaveCounter;
   207             bool InitConnection(
int time_out_sec);
   208             bool InitRendering();
   210             net_status_t SendAvailableToMaster(
int count = INT_MAX); 
   211             net_status_t SendStartToMaster();
   222             void EncodeSyncPacket(
int frames = -1);
   223             void DecodeSyncPacket(
int& frames);
   225             int Recv(
size_t size, 
int flags);
   226             int Send(
size_t size, 
int flags);
   228             void FatalRecvError();
   229             void FatalSendError();
   248                 if (--fSlaveCounter == 0) {
 
This structure containes master/slave connection parameters, it's used to setup the whole system...