/** * Creates a default "active" connection with identifier "0". */ public ConnectionManagerService() { this(new ConnectionInfo()); }
@Override public String toString() { return "(" + getClass().getSimpleName() + ") ID: " + getConnectionID() + ", Status: " + getConnectionStatus(); } }
/** * Close the connection with the peer, remove the connection details. */ synchronized public void closeConnectionWithPeer(final ControlPoint controlPoint, final Service peerService, final ConnectionInfo connectionInfo) throws ActionException { // It is important that you synchronize the whole procedure log.fine("Closing connection ID " + connectionInfo.getConnectionID() + " with peer: " + peerService); new ConnectionComplete( peerService, controlPoint, connectionInfo.getPeerConnectionID() ) { @Override public void success(ActionInvocation invocation) { removeConnection(connectionInfo.getConnectionID()); } @Override public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { AbstractPeeringConnectionManagerService.this.peerFailure( invocation, operation, defaultMsg ); } }.run(); // Synchronous execution! }
public ConnectionManagerService(PropertyChangeSupport propertyChangeSupport, ProtocolInfos sourceProtocolInfo, ProtocolInfos sinkProtocolInfo, ConnectionInfo... activeConnections) { this.propertyChangeSupport = propertyChangeSupport == null ? new PropertyChangeSupport(this) : propertyChangeSupport; this.sourceProtocolInfo = sourceProtocolInfo; this.sinkProtocolInfo = sinkProtocolInfo; for (ConnectionInfo activeConnection : activeConnections) { this.activeConnections.put(activeConnection.getConnectionID(), activeConnection); } }
@Override public void success(ActionInvocation invocation) { removeConnection(connectionInfo.getConnectionID()); }
/** * Creates a default "active" connection with identifier "0". */ public ConnectionManagerService(ProtocolInfos sourceProtocolInfo, ProtocolInfos sinkProtocolInfo) { this(sourceProtocolInfo, sinkProtocolInfo, new ConnectionInfo()); }
@Override public String toString() { return "(" + getClass().getSimpleName() + ") ID: " + getConnectionID() + ", Status: " + getConnectionStatus(); } }
/** * Close the connection with the peer, remove the connection details. */ synchronized public void closeConnectionWithPeer(final ControlPoint controlPoint, final Service peerService, final ConnectionInfo connectionInfo) throws ActionException { // It is important that you synchronize the whole procedure log.fine("Closing connection ID " + connectionInfo.getConnectionID() + " with peer: " + peerService); new ConnectionComplete( peerService, controlPoint, connectionInfo.getPeerConnectionID() ) { @Override public void success(ActionInvocation invocation) { removeConnection(connectionInfo.getConnectionID()); } @Override public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { AbstractPeeringConnectionManagerService.this.peerFailure( invocation, operation, defaultMsg ); } }.run(); // Synchronous execution! }
synchronized protected void storeConnection(ConnectionInfo info) { CSV<UnsignedIntegerFourBytes> oldConnectionIDs = getCurrentConnectionIDs(); activeConnections.put(info.getConnectionID(), info); log.fine("Connection stored, firing event: " + info.getConnectionID()); CSV<UnsignedIntegerFourBytes> newConnectionIDs = getCurrentConnectionIDs(); getPropertyChangeSupport().firePropertyChange("CurrentConnectionIDs", oldConnectionIDs, newConnectionIDs); }
@Override public void received(ActionInvocation invocation, int peerConnectionID, int rcsID, int avTransportID) { ConnectionInfo info = new ConnectionInfo( localConnectionID, rcsID, avTransportID, protInfo, peerService.getReference(), peerConnectionID, direction.getOpposite(), // If I prepared you for output, then I do input ConnectionInfo.Status.OK ); storeConnection(info); }
@Override public String toString() { return "(" + getClass().getSimpleName() + ") ID: " + getConnectionID() + ", Status: " + getConnectionStatus(); } }
/** * Close the connection with the peer, remove the connection details. */ synchronized public void closeConnectionWithPeer(final ControlPoint controlPoint, final Service peerService, final ConnectionInfo connectionInfo) throws ActionException { // It is important that you synchronize the whole procedure log.fine("Closing connection ID " + connectionInfo.getConnectionID() + " with peer: " + peerService); new ConnectionComplete( peerService, controlPoint, connectionInfo.getPeerConnectionID() ) { @Override public void success(ActionInvocation invocation) { removeConnection(connectionInfo.getConnectionID()); } @Override public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) { AbstractPeeringConnectionManagerService.this.peerFailure( invocation, operation, defaultMsg ); } }.run(); // Synchronous execution! }
public ConnectionManagerService(PropertyChangeSupport propertyChangeSupport, ProtocolInfos sourceProtocolInfo, ProtocolInfos sinkProtocolInfo, ConnectionInfo... activeConnections) { this.propertyChangeSupport = propertyChangeSupport == null ? new PropertyChangeSupport(this) : propertyChangeSupport; this.sourceProtocolInfo = sourceProtocolInfo; this.sinkProtocolInfo = sinkProtocolInfo; for (ConnectionInfo activeConnection : activeConnections) { this.activeConnections.put(activeConnection.getConnectionID(), activeConnection); } }
/** * Creates a default "active" connection with identifier "0". */ public ConnectionManagerService(ProtocolInfos sourceProtocolInfo, ProtocolInfos sinkProtocolInfo) { this(sourceProtocolInfo, sinkProtocolInfo, new ConnectionInfo()); }
@Override public void success(ActionInvocation invocation) { removeConnection(connectionInfo.getConnectionID()); }
/** * Creates a default "active" connection with identifier "0". */ public ConnectionManagerService() { this(new ConnectionInfo()); }
synchronized protected void storeConnection(ConnectionInfo info) { CSV<UnsignedIntegerFourBytes> oldConnectionIDs = getCurrentConnectionIDs(); activeConnections.put(info.getConnectionID(), info); log.fine("Connection stored, firing event: " + info.getConnectionID()); CSV<UnsignedIntegerFourBytes> newConnectionIDs = getCurrentConnectionIDs(); getPropertyChangeSupport().firePropertyChange("CurrentConnectionIDs", oldConnectionIDs, newConnectionIDs); }
@Override public void success(ActionInvocation invocation) { try { ConnectionInfo info = new ConnectionInfo( (Integer)invocation.getInput("ConnectionID").getValue(), (Integer)invocation.getOutput("RcsID").getValue(), (Integer)invocation.getOutput("AVTransportID").getValue(), new ProtocolInfo(invocation.getOutput("ProtocolInfo").toString()), new ServiceReference(invocation.getOutput("PeerConnectionManager").toString()), (Integer)invocation.getOutput("PeerConnectionID").getValue(), ConnectionInfo.Direction.valueOf(invocation.getOutput("Direction").toString()), ConnectionInfo.Status.valueOf(invocation.getOutput("Status").toString()) ); received(invocation, info); } catch (Exception ex) { invocation.setFailure( new ActionException(ErrorCode.ACTION_FAILED, "Can't parse ConnectionInfo response: " + ex, ex) ); failure(invocation, null); } }
public ConnectionManagerService(PropertyChangeSupport propertyChangeSupport, ProtocolInfos sourceProtocolInfo, ProtocolInfos sinkProtocolInfo, ConnectionInfo... activeConnections) { this.propertyChangeSupport = propertyChangeSupport == null ? new PropertyChangeSupport(this) : propertyChangeSupport; this.sourceProtocolInfo = sourceProtocolInfo; this.sinkProtocolInfo = sinkProtocolInfo; for (ConnectionInfo activeConnection : activeConnections) { this.activeConnections.put(activeConnection.getConnectionID(), activeConnection); } }
@Override public void received(ActionInvocation invocation, int peerConnectionID, int rcsID, int avTransportID) { ConnectionInfo info = new ConnectionInfo( localConnectionID, rcsID, avTransportID, protInfo, peerService.getReference(), peerConnectionID, direction.getOpposite(), // If I prepared you for output, then I do input ConnectionInfo.Status.OK ); storeConnection(info); }