LDicomNet::OnSend

Summary

Notifies a connection that data was sent. This function is available in the PACS Imaging Toolkit.

Syntax

#include "ltdic.h"

virtual L_VOID LDicomNet::OnSend(nError, nType, nBytes)

Parameters

L_INT nError

Error code. Refer to Return Codes.

L_UCHAR nType

The type of data that was sent. Possible values are:

Value Meaning
PDU_UNKNOWN [0x00] Unknown data sent.
PDU_ASSOCIATE_REQUEST [0x01] Associate Request message sent
PDU_ASSOCIATE_ACCEPT [0x02] Associate Accept message sent
PDU_ASSOCIATE_REJECT [0x03] Associate Reject message sent
PDU_DATA_TRANSFER [0x04] Data transfer made.
PDU_RELEASE_REQUEST [0x05] Release Request message sent
PDU_RELEASE_RESPONSE [0x06] Release Response message sent
PDU_ABORT [0x07] Abort message sent.

L_UINT32 nBytes

Number of bytes of data actually sent.

Returns

None.

Comments

When one of the LDicomNet::SendXXX functions is called, the message is not sent immediately. It is placed in a Network queue and sent later. When the data is actually sent, this callback function is called to let the calling AE know that the data has been sent.

To customize this function, you must derive a class from LDicomNet and override this function.

Required DLLs and Libraries

Platforms

Win32, x64

See Also

Functions

Topics

Example

LMyDicomNet is a class derived from LDicomNet
In class LMyDicomNet, all events (virtual functions OnXXX()) have been overridden so that they can be processed. Each event displays a MessageBox identifying the event, the IP that generated the event, the IP that received the event and any other relevant data.
For the entire derived class, see (hyperlink)LMyDicomNet class

//OnSend() 
L_VOID   LMyDicomNet::OnSend(L_INT nError, L_UCHAR nType, L_UINT32 nBytes) 
{ 
   CString strMsg, strTmp, strType; 
    
   strMsg = TEXT("*** OnSend ***\n"); 
   strTmp = TEXT("Unknown"); 
   if (nError == DICOM_SUCCESS) 
   { 
      switch(nType) 
      {          
      case PDU_ASSOCIATE_REQUEST: 
         strType = TEXT("PDU_ASSOCIATE_REQUEST"); 
         break; 
          
      case PDU_ASSOCIATE_ACCEPT: 
         strType = TEXT("PDU_ASSOCIATE_ACCEPT"); 
         break; 
          
      case PDU_ASSOCIATE_REJECT: 
         strType = TEXT("PDU_ASSOCIATE_REJECT"); 
         break; 
          
      case PDU_DATA_TRANSFER:   
         strType = TEXT("PDU_DATA_TRANSFER"); 
         break; 
          
      case PDU_RELEASE_REQUEST:   
         strType = TEXT("PDU_RELEASE_REQUEST"); 
         break; 
          
      case PDU_RELEASE_RESPONSE:  
         strType = TEXT("PDU_RELEASE_RESPONSE"); 
         break; 
          
      case PDU_ABORT: 
         strType = TEXT("PDU_ABORT"); 
         break; 
      } 
      strTmp.Format(TEXT("\nType[%s]\nlSize[%d]"), strType, nBytes); 
   } 
   else 
   { 
      strTmp.Format(TEXT("Error[%d]\n"),nError); 
   } 
   strMsg = strMsg + strTmp; 
   AfxMessageBox(strMsg); 
} 

Help Version 23.0.2024.7.1
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.