| 93 | |
| 94 | |
| 95 | int |
| 96 | MPI_Channel::sendObj(int commitTag, |
| 97 | MovableObject &theObject, |
| 98 | ChannelAddress *theAddress) |
| 99 | { |
| 100 | // first check address is the only address a MPI_Channel can send to |
| 101 | MPI_ChannelAddress *theMPI_ChannelAddress = 0; |
| 102 | if (theAddress != 0) { |
| 103 | if (theAddress->getType() == MPI_TYPE) { |
| 104 | theMPI_ChannelAddress = (MPI_ChannelAddress *)theAddress; |
| 105 | otherTag = theMPI_ChannelAddress->otherTag; |
| 106 | otherComm= theMPI_ChannelAddress->otherComm; |
| 107 | } |
| 108 | else { |
| 109 | opserr << "MPI_Channel::sendObj() - a MPI_Channel "; |
| 110 | opserr << "can only communicate with a MPI_Channel"; |
| 111 | opserr << " address given is not of type MPI_ChannelAddress\n"; |
| 112 | return -1; |
| 113 | } |
| 114 | } |
| 115 | return theObject.sendSelf(commitTag, *this); |
| 116 | } |
| 117 | |
| 118 | int |
| 119 | MPI_Channel::recvObj(int commitTag, |