Package org.apache.jmeter.protocol.smtp.sampler.protocol

# Class SynchronousTransportListener

java.lang.Object
javax.mail.event.TransportAdapter
org.apache.jmeter.protocol.smtp.sampler.protocol.SynchronousTransportListener

All Implemented Interfaces:
  `EventListener`, `javax.mail.event.TransportListener`

public class SynchronousTransportListener extends javax.mail.event.TransportAdapter
This class implements a listener for SMTP events and a monitor for all threads sending mail. The main purpose is to synchronize the send action with the end of communication with remote smtp server, so that sending time can be measured.

## Constructor Summary

Constructors
Constructor
Description
`SynchronousTransportListener()`
Creates a new instance of SynchronousTransportListener

## Method Summary

Modifier and Type
Method
Description
`void`
`attend()`
Synchronized-method
`void`
`finish()`
Synchronized-method
`void`
`messageDelivered(javax.mail.event.TransportEvent e)`
`void`
`messageNotDelivered(javax.mail.event.TransportEvent e)`
`void`
`messagePartiallyDelivered(javax.mail.event.TransportEvent e)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SynchronousTransportListener

public SynchronousTransportListener()
Creates a new instance of SynchronousTransportListener

## Method Details

### messageDelivered

public void messageDelivered(javax.mail.event.TransportEvent e)

Specified by:
  `messageDelivered` in interface `javax.mail.event.TransportListener`
Overrides:
  `messageDelivered` in class `javax.mail.event.TransportAdapter`

### messageNotDelivered

public void messageNotDelivered(javax.mail.event.TransportEvent e)

Specified by:
  `messageNotDelivered` in interface `javax.mail.event.TransportListener`
Overrides:
  `messageNotDelivered` in class `javax.mail.event.TransportAdapter`

### messagePartiallyDelivered

public void messagePartiallyDelivered(javax.mail.event.TransportEvent e)

Specified by:
  `messagePartiallyDelivered` in interface `javax.mail.event.TransportListener`
Overrides:
  `messagePartiallyDelivered` in class `javax.mail.event.TransportAdapter`

### attend

public void attend() throws InterruptedException
Synchronized-method

Waits until `finish()` was called and thus the end of the mail sending was signaled.

Throws:
  `InterruptedException` - when interrupted while waiting with the lock

### finish

public void finish()
Synchronized-method