// Path: src/main/java/org/nextrtc/signalingserver/domain/Message.java
// @Getter
// @Builder(builderMethodName = "create")
// @AllArgsConstructor(access = AccessLevel.PRIVATE)
// public class Message {
//     /**
//      * Use Message.create(...) instead of new Message()
//      */
//     @Deprecated
//     Message() {
//     }
// 
//     @Expose
//     private String from = EMPTY;
// 
//     @Expose
//     private String to = EMPTY;
// 
//     @Expose
//     private String signal = EMPTY;
// 
//     @Expose
//     private String content = EMPTY;
// 
//     @Expose
//     private Map<String, String> custom = Maps.newHashMap();
// 
//     @Override
//     public String toString() {
//         return String.format("(%s -> %s)[%s]: %s |%s", from, to, signal, content, custom);
//     }
// }


import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import lombok.Getter;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.nextrtc.signalingserver.domain.Message;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static java.lang.String.format;
import static java.util.Collections.synchronizedList;
import static org.awaitility.Awaitility.await;
import static org.nextrtc.signalingserver.domain.Message.create;
package org.nextrtc.signalingserver.performance;




@WebSocket
@Getter
public class Peer {
    private final static ExecutorService service = Executors.newCachedThreadPool();
    private final Gson gson = new GsonBuilder().create();
    private Session session;
    private String name;
    private String joinedTo;
// Path: src/main/java/org/nextrtc/signalingserver/domain/Message.java
// @Getter
// @Builder(builderMethodName = "create")
// @AllArgsConstructor(access = AccessLevel.PRIVATE)
// public class Message {
//     /**
//      * Use Message.create(...) instead of new Message()
//      */
//     @Deprecated
//     Message() {
//     }
// 
//     @Expose
//     private String from = EMPTY;
// 
//     @Expose
//     private String to = EMPTY;
// 
//     @Expose
//     private String signal = EMPTY;
// 
//     @Expose
//     private String content = EMPTY;
// 
//     @Expose
//     private Map<String, String> custom = Maps.newHashMap();
// 
//     @Override
//     public String toString() {
//         return String.format("(%s -> %s)[%s]: %s |%s", from, to, signal, content, custom);
//     }
// }


// Path: src/test/java/org/nextrtc/signalingserver/performance/Peer.java
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import lombok.Getter;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.nextrtc.signalingserver.domain.Message;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static java.lang.String.format;
import static java.util.Collections.synchronizedList;
import static org.awaitility.Awaitility.await;
import static org.nextrtc.signalingserver.domain.Message.create;

package org.nextrtc.signalingserver.performance;




@WebSocket
@Getter
public class Peer {
    private final static ExecutorService service = Executors.newCachedThreadPool();
    private final Gson gson = new GsonBuilder().create();
    private Session session;
    private String name;
    private String joinedTo;
    private List<Message> offerRequests = synchronizedList(new ArrayList<>());